]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_c/Maasha/src/inc/ucsc.h
bed_sort created
[biopieces.git] / code_c / Maasha / src / inc / ucsc.h
index 64e92d0e5fde71f9d01e63d0fc3de00d94d97bce..6e655c58d3fc3cdd35b9c5c4400232dc6349de5b 100644 (file)
@@ -1,21 +1,20 @@
 /* Martin Asser Hansen (mail@maasha.dk) Copyright (C) 2008 - All right reserved */
 
-#define BED_BUFFER 1024
+#define BED_BUFFER         2048
+#define BED_CHR_MAX          16
+#define BED_QID_MAX         256
+#define BED_ITEMRGB_MAX      16
+#define BED_BLOCKSIZES_MAX  256
+#define BED_QBEGS_MAX       256
 
-struct bed_entry3
-{
-    char *chr;
-    uint  chr_beg;
-    uint  chr_end;
-};
-
-struct bed_entry12
+struct _bed_entry
 {
+    int    cols;
     char  *chr;
     uint   chr_beg;
     uint   chr_end;
     char  *q_id;
-    float  score;
+    int    score;
     char   strand; 
     uint   thick_beg;
     uint   thick_end;
@@ -25,6 +24,13 @@ struct bed_entry12
     char  *q_begs;
 };
 
-void bed_get_entry( FILE *fp, struct bed_entry3 *bed, int cols );
-void     bed_split( char *string, struct bed_entry12 *bed, int cols );
+typedef struct _bed_entry bed_entry;
 
+bed_entry *bed_entry_new( const int cols );
+bed_entry *bed_entry_get( FILE *fp, const int cols );
+list_sl   *bed_entries_get( char *path, const int cols );
+void       bed_entry_put( bed_entry *entry, int cols );
+void       bed_entries_put( list_sl *entries, int cols );
+int        cmp_bed_sort_beg( const void *a, const void *b );
+int        cmp_bed_sort_chr_beg( const void *a, const void *b );
+int        cmp_bed_sort_chr_strand_beg( const void *a, const void *b );