Skip to content

GabrielOnDelphi/BioInf

Repository files navigation

BioInf - Delphi Bioinformatics library

Delphi library/package for reading/writing microbiology DNA sample/chromatogram files (ABI, AB, AB1, SCF, FASTA, SEQ, etc).

Has support for:

  • SNP (Single Nucleotide Polymorphism)
  • QV (base Quality Value)
  • Integrated trimming engine (automatic bad-end trimming)
  • Recalling of bad (N) peaks using proprietary algorithm
  • Automatic sequence direction (F/R)
  • Reading and displaying the chromatogram data
  • read/write SCF chromatogram files
  • read ABI/AB/AB1/AB! chromatogram files
  • read/write FASTA chromatogram files
  • read/write GeneBank (GBK) chromatogram files.

The import functionality is accessible with a call to a single function: TCubeImport.Import(FileName)

  TCube = class(TCubeAbstractSnp)    
  public     
   {IMPORT}     
   function  Import(CONST FileName: string): Boolean;                                                         { Fasta and GBK files are not supported because they may contain more than one sample! }  
   function  AssignGBK     (CONST Gbk : TGbkObj): Boolean;  
   function  AssignScf     (CONST SCF : TScfObj): boolean;  
   function  AssignAbi     (CONST ABI : TAbiObj; EditedField: boolean= True): Boolean;                      
   {EXPORT}                           
   function  ExportAs      (CONST aFileName: string; Clean: Boolean; OUT BasesLeft: Integer): Boolean;          
   procedure ExportAsFASTA (CONST FileName : string; Clean: Boolean; OUT BasesLeft: Integer); overload;   
   procedure ExportToSCF   (CONST aFileName: string; Clean: Boolean);            overload;                    { This will remove all GAPs }  
   function  ExportToSCF   (CONST                    Clean: Boolean): string;    overload;                    { Returns the name used to save the file }  
   function  AsFasta       (CONST aFileName: string; Clean: Boolean): TFastaObj; overload;                    { Return a TFastaObj object built from this cube }  
  
   procedure SaveChromaAsBmp(CONST Nume: string);  
 end; 

The code was tested on millions of DNA samples over the years and works flawlessly.


Features:

  • TrimEngine
  • Assign(TSample)
  • Average Quality
  • Highest QV
  • FindAdaptor
  • Clip Left/Right
  • Good Bases
  • Can work with sequences with length over 65535 bases
  • Implements a single SFF read
  • NoOfGoodBases
  • GoodBases
  • Conversion to Fasta
  • BuildQVGraph
  • etc

Next to come:

  • Code to import NextGen DNA sequence files such as SFF. SFQ, FAS.
  • DNA sequence assembly
  • SNMP / Mutation detection

Requires the LightSaber library.

Details + similar libraries

About

Library for reading microbiology DNA files (ABI, SCF, FASTA, etc)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages