.ABI and .SCF file structure

Anonymous
2004-03-17
2004-03-18
  • Anonymous - 2004-03-17

    For a particular application I need to seperately read Trace data (4 colours to read seperately for subsequent peak integration by another program).  Can anyone guide me toward a description of the file structure of .ABI and .SCF files?  How are the chromatogram encoded in those files?

     
    • James Bonfield

      James Bonfield - 2004-03-18

      SCF is a published standard. The web documents can be found at:

          http://staden.sourceforge.net/manual/formats_unix_2.html

      On the same page you will also find a reference to the published
      paper, although it's in a somewhat obscure journal!

      The ABI file format is proprietary and has not been published by
      ABI. Some information can be found out from Clark Tibbets' pages at:

          http://www-2.cs.cmu.edu/afs/cs/project/genome/WWW/Papers/clark.html

      Long ago the ABI format was reverse engineered sufficiently to extract
      standard sequencing chromatograms, and the results of this ended up in
      io_lib (the portion of the Staden Package that handles reading and
      writing trace files). You may want to check the source code for more
      information.

          http://cvs.sourceforge.net/viewcvs.py/staden/staden/src/io_lib/abi/

      Finally, the Staden Package contains a variety of tools for examining
      and extracting arbitrary blocks from ABI files. Eg

      jkb$ getABIhex Sample_671.ab1
      ...
      CMNT   1 00120001 00000001 00000001 00000000 00000000
      CTTL   1 00120001 00000009 00000009 000001b6 00000000
      DATA   1 00040002 000019aa 00003354 000001cb 00000000
      DATA   2 00040002 000019aa 00003354 0000351f 00000000
      DATA   3 00040002 000019aa 00003354 00006873 00000000
      DATA   4 00040002 000019aa 00003354 00009bc7 00000000
      DATA   5 00040002 000000cd 0000019a 0000cf1b 00000000
      DATA   6 00040002 000000cd 0000019a 0000d0b5 00000000
      DATA   7 00040002 000000cd 0000019a 0000d3e9 00000000
      DATA   8 00040002 000000cd 0000019a 0000d24f 00000000
      DATA   9 00040002 000017c4 00002f88 0000d583 004d8f60
      DATA  10 00040002 000017c4 00002f88 0001050b 004d956c
      DATA  11 00040002 000017c4 00002f88 00013493 004d9574
      DATA  12 00040002 000017c4 00002f88 0001641b 004d95f8
      ...
      PBAS   1 00020001 00000227 00000227 000197f1 004d958c
      PBAS   2 00020001 00000227 00000227 00019e66 004d9558
      ...

      (Read the source code for getABIhex and the paper by Clark Tibbets to
      understand this output fully.)

      jkb$ getABIraw PBAS 2 Sample_671.ab1
      NNNCATGCCTGAGGTCGACTCTAGAGGNTCCCCGGAAAGCGCACANNAANCANAAAGNACACGACATAGCCTCATCCCNTAANTAAATTTNATGGTCCAGNNACANNCGCACACGAACACTCCGAGGCGNTAGCATNANCNCTTAANNGCCTNGGNANNCTGAAAAGTNNGCTAAGTTCTANAANNTCCGNTNAANTCCCNATCNGGTNNCCNNTNGNNAAACCGATNNTGCCAGNTCCNTTACAGAATNGNNCNCNNNGNNGGNCAGAGGNTNCCTTGCNGNATTGGGCNNNGGGGCCGNTNTCTTTGNNACCAGTCCNACNGNTATCANCGGTTNTCNCCTAANCGNCNAGGCCTGANGNNGCGTTNTTGTNGGGGGTTNGAGTTTGGTTTTGCCTGGCAGNCNGAANAAGGGGGTTTTNTNCGGANGTTCNAGATNTTNTGTNNTTNCCTTTGTGNNANNTCCTNGNTGTTATTGGNTTNTAGGGNTGGNNNTTTTGGCTGTNGTGNNNNAGNTGTTNNNTTGAGNTAAAGNNNTGGGNTTATTTNTG

      jkb$ getABIraw DATA 1
      Sample_671.ab1 |od -t x1|less
      0000000  04 05 04 08 04 07 04 02 04 01 04 00 04 06 04 05
      0000020  04 00 03 fc 04 03 03 f9 03 fd 03 fe 03 fb 03 fa
      0000040  03 f9 03 f3 03 f2 03 f1 03 fc 03 f6 03 f3 03 ef
      0000060  03 ef 03 ef 03 e9 03 f2 03 ee 03 e9 03 ec 03 ee
      ...

      etc.

      For sequencing traces, DATA channels 1,2,3,4 are the raw trace
      data. 5,6,7,8 are various sequencing conditions (temperature, voltage,
      current), and 9,10,11,12 are the processed trace data. For non
      sequencing traces (SSCP and similar) the DATA channels are often
      swapped around.

      To view a different set of DATA channels use convert_trace followed by
      trev. Eg the raw data in the aboe example:

      jkb$ convert_trace -abi_data 1,2,3,4 any ztr < Sample_671.ab1 > raw.ztr
      jkb$ trev raw.ztr

      James

       

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks