GithubHelp home page GithubHelp logo

eriksjolund / abi2xml Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 69 KB

abi2xml is a command-line tool to convert an ABIF file to an XML file. ABIF files (also called ABI trace files) contain DNA sequence data and are e.g. produced by ABI PRISM TM 377 DNA sequencers. This software is written in C++ and released under the GPL license version 2.

License: GNU General Public License v2.0

QMake 0.79% C++ 66.30% C 29.09% XSLT 3.81%
abif xml file-converter command-line-tool bioinformatics chromatogram

abi2xml's Introduction

Command-line tool for converting the ABIF file format to XML.

Introduction

The first version of the command-line tool abi2xml was written in 2003 by Erik Sjölund then working at Karolinska Institutet. It was meant to serve the purpose of parsing the binary file format coming from an ABI PRISM TM 377 DNA Sequencer and writing the information as plain text in to an XML file.

In February 2020 the source code was migrated from the original Sourceforge repository in to Github. The migrated source code came from the file abi2xml-1.2.tar.gz that was released in 2006.

ABIF file format

The ABIF file format is described in this publication:

Raw Data File Formats, and the Digital and Analog Raw Data Streams of the ABI PRISM TM 377 DNA Sequencer

by Clark Tibbetts, Ph. D. Professor of Microbiology, Vanderbilt University, August 1995.

Applied Biosystems later published their own specification. The PDF document Applied Biosystems Genetic Analysis Data File Format is still available at the QAbifReader Github repo.

Installation

Alternative 1: building from source

The qt library version 4 (4.1 or higher) required for building abi2xml. The qt library is available for Linux, Microsoft Windows and Mac OS X and others.

After qt has been installed, unpack the abi2xml sources and run qmake && make && make install

Alternative 2: installing prebuilt binary

If you are running Windows on a 32-bit (i386) platform you can download the file abi2xml-1.2.zip and unzip it. If your Windows computer lacks zip support you first have to install 7-zip to be able to unzip the file.

Command line usage

Usage: abi2xml -i binaryfile -o xmlfile

Other option flags are also available. To list them type abi2xml --help.

[erik@linux]$ abi2xml --help
abi2xml 1.2

This program parses the binary file format coming from an
ABI PRISM TM 377 DNA Sequencer and writes the information out as
an xml file

Usage: abi2xml [OPTIONS]...

  -h, --help                    Print help and exit
  -V, --version                 Print version and exit
  -i, --input-file=STRING       input abi file
  -o, --output-file=STRING      output xml file
  -I, --input-dir=STRING        input dir with abi files
  -O, --output-dir=STRING       output dir
  -s, --abi-file-suffix=STRING  suffix of abi files ( used with --input-dir )
                                  (default=`abi')
  -a, --int-vector-as-attribute write integer vectors inside attributes ( It
                                  makes file size smaller )
  -e, --input-encoding=STRING   input string encoding.  Available encodings
                                  listed at:
                                  http://doc.trolltech.com/3.0/qtextcodec.html
                                  (default=`Apple Roman')

To convert a whole directory of ABI files to XML

[erik@linux]$ abi2xml -I dir_with_abi_files -O output_dir

If you want to test abi2xml but you don't have any ABI files, you may use the file staden-src-1-6-0/userdata/Sample_671.ab1 found in the staden-src-1-6-0.tar.gz from the Staden project.

An XSLT script can be useful when you want to retrieve information from the XML file. Take a look in the xslt_examples sub directory. There you find some example scripts.

You run a XSLT script like this: xsltproc xsltscript abi2xml-generated-xmlfile

Related projects

QAbifReader

QAbifReader, Qt5 ABIF file reader for Genetic Analysis. License: GPL v2. Programming language: C++.

ABIParser.py

ABIParser.py is a python module for parsing ABI files. License: GPL v2. Programming language: Python.

Biojava - Class ABITrace

ABITrace java class in Biojava. License: LGPL. Programming language: Java.

Bioperl - Bio::SeqIO::abi

Bio::SeqIO::abi is a perl module in Bioperl for parsing ABI files. It doesn't actually parse the abi files but uses the Staden package for that ( see Section 5.5, “Staden” ). License: "You may distribute this module under the same terms as perl itself". Programming language: Perl.

Emboss - abiview

Emboss includes abiview, an application that parses an abi file and converts the information to vector or bitmap images or to text files. License: GPL. Programming language: C.

Staden

Staden has capabilities to extract information from abi trace files ( e.g. the program extract_seq ). License: BSD. Programming language: C.

References to abi2xml in scientific literature

abi2xml was referenced

abi2xml's People

Contributors

eriksjolund avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.