Skip to content

Latest commit

 

History

History
82 lines (65 loc) · 3.98 KB

README.md

File metadata and controls

82 lines (65 loc) · 3.98 KB

ABI Trace File Export

Written by Conrad Shyu
last updated on July 5, 2020

Note: This is only the source code repository. Example trace files are not available.

Synopsis

Trace files (or chromatograms) generated from the ABI instruments contain an array of digitized data and are one of several file types that share a common structure called the ABIF tagged data format. The general architecture of the trace files are remarkably similar to that generated by different ABI instruments. By and large, all ABI processed sample files begin with a single 128 bye header. These files contain various tagged data structures, each of which is identified by a unique primary key called a flag. A flag is a four-byte, fixed length string that dictates the meaning of the associated records. Without any knowledge on the meaning of flags, it is virtually impossible to decipher the corresponding records. Most implementation of tagged data format have a serious drawback in that when data elements are inserted or removed, the entire file must be reorganized and rewritten. In addition, the tagged structure of the sample files can seem cryptic at the first glance.

The following shows the ABI trace file flag list. The list is not exhaustive. Some of the flags are rarely used difficult to decipher.

Flag Data Type Description
DATA short Raw data from a given filter
Dye# short Number of fluorescent dyes in the data
DyeN string Name of the fluorescent dye
DySN string Name of the fluorescent dye set
EVNT string Instrument event; electrophoresis stop or start
InSc long Electrophoresis injection time in seconds
InVt long Electrophoresis injection voltage in volts
LANE short Capillary lane or number
MTRX long Fluorescent signals filter matrix
PEAK custom Fluorescent peak data for each channel (96 bytes)
PK # short Number of fluorescent peaks for each channel
RUNT time Electrophoresis operations start and stop time
Sd#P short Number of peaks from the size standard
SpNm string User assigned sample file name
Std# short Number of peaks defined by the size standard
StdF string Size standard file name
User string Instrument registered user name

To compile the code, type the command:

g++ -I. abi2csv.cpp abifile.cpp abitag.cpp -o abi2csv

To run the analysis program with only the required parameter, type:

abi2csv *.abi

The export program will output raw and processed signals to a CSV file.

The archive lists two implementation files

Filename Descriptions
abi2csv.cpp the main driver/user interface program
abifile.cpp tag interpretation and translation program
abifile.h header of tag interpretation and translation program
abitag.cpp trace file tag extraction program
abitag.h header of trace file tag extraction program
README.md this file

Author's Comments

ABI has retired the instrument Genetic Analyzer 3100 for some time. However, the new instrument is likely to implement similar file structure to store the records of run.

Copyright (C) 2014 Conrad Shyu
Department of Biological Sciences
University of Idaho
Moscow, Idaho 83844

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.