This is an automated email from the git hooks/post-receive script.

sascha-guest pushed a commit to branch master
in repository aegean.

commit 6261fb6c79c19a9789abb91f072b2f2cf4f0a437
Author: Sascha Steinbiss <[email protected]>
Date:   Sun Mar 20 11:30:58 2016 +0000

    Imported Upstream version 0.15.2+dfsg
---
 CHANGELOG.md                         |  5 +++
 README.md                            |  8 ++---
 VERSION                              |  2 +-
 data/gff3/aech-dachsous-out.gff3     |  8 ++---
 data/gff3/amel-lsm-out-cds.gff3      |  4 +--
 data/gff3/amel-plap-out-cds.gff3     |  4 +--
 data/gff3/ilocus.out.noskipends.gff3 | 34 ++++++++++----------
 data/gff3/mrot-cst-out-cds.gff3      |  4 +--
 data/gff3/nvit-exospindle-out.gff3   |  8 ++---
 data/scripts/miloci.py               |  6 ++--
 data/scripts/uloci.py                |  6 ++--
 docs/contrib.rst                     |  3 +-
 src/core/AgnLocus.c                  |  2 +-
 src/core/AgnLocusRefineStream.c      | 60 +++++++++++++++++++++---------------
 src/core/AgnLocusStream.c            | 28 ++++++++---------
 15 files changed, 98 insertions(+), 84 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f0348e..c4fb607 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 All notable changes to this project will be documented in this file.
 This project adheres to [Semantic Versioning](http://semver.org/).
 
+## [0.15.2] - 2016-03-17
+
+### Fixed
+- Minor typo in AgnLocus class.
+- Correct reporting of iLocus type.
 
 ## [0.15.1] - 2016-01-08
 
diff --git a/README.md b/README.md
index 9101107..845fd57 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,9 @@
 
 AEGeAn: <b>a</b>nalysis and <b>e</b>valuation of <b>ge</b>nome 
<b>an</b>notations
 
-Copyright (c) 2010-2015, Daniel S. Standage and CONTRIBUTORS.
+Copyright (c) 2010-2016, Daniel S. Standage and 
[CONTRIBUTORS](https://github.com/BrendelGroup/AEGeAn/blob/master/docs/contrib.rst).
 See LICENSE and for details.
-Project homepage: http://standage.github.io/AEGeAn.
+Project homepage: http://brendelgroup.github.io/AEGeAn.
 
-[![AEGeAn build 
status](https://api.travis-ci.org/standage/AEGeAn.svg?branch=master)](https://travis-ci.org/standage/AEGeAn)
-[![Coverity Scan build 
status](https://scan.coverity.com/projects/1021/badge.svg)](https://scan.coverity.com/projects/1021)
+[![AEGeAn build 
status](https://api.travis-ci.org/BrendelGroup/AEGeAn.svg?branch=master)](https://travis-ci.org/BrendelGroup/AEGeAn)
 [![ReadTheDocs build 
status](https://readthedocs.org/projects/aegean/badge/?version=latest)](https://readthedocs.org/projects/aegean/badge/?version=latest)
-
diff --git a/VERSION b/VERSION
index 9dc514f..69ca83a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-v0.15.1 stable
+v0.15.2 stable
diff --git a/data/gff3/aech-dachsous-out.gff3 b/data/gff3/aech-dachsous-out.gff3
index c4bd6b8..f53b144 100644
--- a/data/gff3/aech-dachsous-out.gff3
+++ b/data/gff3/aech-dachsous-out.gff3
@@ -6,10 +6,10 @@
 #!genome-build-accession NCBI_Assembly:GCF_000204515.1
 #!annotation-date
 #!annotation-source NCBI Acromyrmex echinatior Annotation Release 100
-NW_011626563.1 AEGeAn::LocusPocus      locus   1190754 1200781 .       .       
.       
child_gene=1;child_mRNA=2;riil=769;effective_length=10028;iLocus_type=piLocus
+NW_011626563.1 AEGeAn::LocusPocus      locus   1190754 1200781 .       .       
.       
child_gene=1;child_mRNA=2;riil=769;effective_length=10028;iLocus_type=siLocus
 NW_011626563.1 AEGeAn::LocusPocus      locus   1200782 1201550 .       .       
.       fg_orient=FR;effective_length=769;iLocus_type=iiLocus
-NW_011626563.1 AEGeAn::LocusPocus      locus   1201551 1566216 .       .       
.       
effective_length=364666;iiLocus_exception=complex-overlap-3;liil=769;riil=8884;iLocus_type=piLocus;child_gene=1;child_mRNA=1
-NW_011626563.1 AEGeAn::LocusPocus      locus   1216473 1219475 .       .       
.       
iiLocus_exception=intron-gene;liil=0;riil=0;iLocus_type=piLocus;child_gene=1;child_mRNA=2
+NW_011626563.1 AEGeAn::LocusPocus      locus   1201551 1566216 .       .       
.       
effective_length=364666;iiLocus_exception=complex-overlap-3;liil=769;riil=8884;iLocus_type=siLocus;child_gene=1;child_mRNA=1
+NW_011626563.1 AEGeAn::LocusPocus      locus   1216473 1219475 .       .       
.       
iiLocus_exception=intron-gene;liil=0;riil=0;iLocus_type=siLocus;child_gene=1;child_mRNA=2
 NW_011626563.1 AEGeAn::LocusPocus      locus   1537022 1540189 .       .       
.       liil=0;riil=0;iLocus_type=niLocus;child_gene=1;child_ncRNA=1
 NW_011626563.1 AEGeAn::LocusPocus      locus   1566217 1575100 .       .       
.       fg_orient=RR;effective_length=8884;iLocus_type=iiLocus
-NW_011626563.1 AEGeAn::LocusPocus      locus   1575101 1579176 .       .       
.       
liil=8884;child_gene=1;child_mRNA=1;effective_length=4076;iLocus_type=piLocus
+NW_011626563.1 AEGeAn::LocusPocus      locus   1575101 1579176 .       .       
.       
liil=8884;child_gene=1;child_mRNA=1;effective_length=4076;iLocus_type=siLocus
diff --git a/data/gff3/amel-lsm-out-cds.gff3 b/data/gff3/amel-lsm-out-cds.gff3
index 3f0b1ba..5b3531d 100644
--- a/data/gff3/amel-lsm-out-cds.gff3
+++ b/data/gff3/amel-lsm-out-cds.gff3
@@ -6,5 +6,5 @@
 #!genome-build-accession NCBI_Assembly:GCF_000002195.4
 #!annotation-date 7 January 2014
 #!annotation-source NCBI Apis mellifera Annotation Release 102
-NC_007079.3    AEGeAn::LocusPocus      locus   8269827 8271756 .       .       
.       
effective_length=3352;iiLocus_exception=gene-overlap-gene;riil=0;iLocus_type=piLocus;child_gene=1;child_mRNA=1
-NC_007079.3    AEGeAn::LocusPocus      locus   8270498 8273178 .       .       
.       liil=0;iLocus_type=piLocus;child_gene=1;child_mRNA=1
+NC_007079.3    AEGeAn::LocusPocus      locus   8269827 8271756 .       .       
.       
effective_length=3352;iiLocus_exception=gene-overlap-gene;riil=0;iLocus_type=siLocus;child_gene=1;child_mRNA=1
+NC_007079.3    AEGeAn::LocusPocus      locus   8270498 8273178 .       .       
.       liil=0;iLocus_type=siLocus;child_gene=1;child_mRNA=1
diff --git a/data/gff3/amel-plap-out-cds.gff3 b/data/gff3/amel-plap-out-cds.gff3
index d3fff6f..4627572 100644
--- a/data/gff3/amel-plap-out-cds.gff3
+++ b/data/gff3/amel-plap-out-cds.gff3
@@ -6,5 +6,5 @@
 #!genome-build-accession NCBI_Assembly:GCF_000002195.4
 #!annotation-date 7 January 2014
 #!annotation-source NCBI Apis mellifera Annotation Release 102
-NC_007077.3    AEGeAn::LocusPocus      locus   8815135 8818920 .       .       
.       
effective_length=7198;iiLocus_exception=gene-overlap-gene;riil=0;iLocus_type=piLocus;child_gene=1;child_mRNA=1
-NC_007077.3    AEGeAn::LocusPocus      locus   8817660 8822332 .       .       
.       liil=0;iLocus_type=piLocus;child_gene=1;child_mRNA=1
+NC_007077.3    AEGeAn::LocusPocus      locus   8815135 8818920 .       .       
.       
effective_length=7198;iiLocus_exception=gene-overlap-gene;riil=0;iLocus_type=siLocus;child_gene=1;child_mRNA=1
+NC_007077.3    AEGeAn::LocusPocus      locus   8817660 8822332 .       .       
.       liil=0;iLocus_type=siLocus;child_gene=1;child_mRNA=1
diff --git a/data/gff3/ilocus.out.noskipends.gff3 
b/data/gff3/ilocus.out.noskipends.gff3
index e869dce..4974f38 100644
--- a/data/gff3/ilocus.out.noskipends.gff3
+++ b/data/gff3/ilocus.out.noskipends.gff3
@@ -25,9 +25,9 @@
 ##sequence-region   seq24 1 800
 ##sequence-region   seq25 1 799
 seq01  AEGeAn::LocusPocus      locus   1       900     .       .       .       
child_gene=1;child_mRNA=1
-seq02  AEGeAn::LocusPocus      locus   1       200     .       .       .       
fragment=true
+seq02  AEGeAn::LocusPocus      locus   1       200     .       .       .       
.
 seq02  AEGeAn::LocusPocus      locus   201     900     .       .       .       
child_gene=1;child_mRNA=1
-seq03  AEGeAn::LocusPocus      locus   1       201     .       .       .       
fragment=true
+seq03  AEGeAn::LocusPocus      locus   1       201     .       .       .       
.
 seq03  AEGeAn::LocusPocus      locus   202     900     .       .       .       
child_gene=1;child_mRNA=1
 seq04  AEGeAn::LocusPocus      locus   1       900     .       .       .       
child_gene=1;child_mRNA=1
 seq05  AEGeAn::LocusPocus      locus   1       900     .       .       .       
child_gene=1;child_mRNA=1
@@ -35,48 +35,48 @@ seq06       AEGeAn::LocusPocus      locus   1       900     
.       .       .       child_gene=1;child_mRNA=1
 seq07  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;riil=201
 seq07  AEGeAn::LocusPocus      locus   801     1001    .       .       .       
fg_orient=FF
 seq07  AEGeAn::LocusPocus      locus   1002    1600    .       .       .       
liil=201;child_gene=1;child_mRNA=1
-seq07  AEGeAn::LocusPocus      locus   1601    2000    .       .       .       
fragment=true
+seq07  AEGeAn::LocusPocus      locus   1601    2000    .       .       .       
.
 seq08  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;riil=200
 seq08  AEGeAn::LocusPocus      locus   801     1000    .       .       .       
fg_orient=FF
 seq08  AEGeAn::LocusPocus      locus   1001    1600    .       .       .       
liil=200;child_gene=1;child_mRNA=1
-seq08  AEGeAn::LocusPocus      locus   1601    2000    .       .       .       
fragment=true
+seq08  AEGeAn::LocusPocus      locus   1601    2000    .       .       .       
.
 seq09  AEGeAn::LocusPocus      locus   1       900     .       .       .       
child_gene=1;child_mRNA=1;iiLocus_exception=delta-re-extend;riil=0
 seq09  AEGeAn::LocusPocus      locus   901     1600    .       .       .       
liil=0;child_gene=1;child_mRNA=1
-seq09  AEGeAn::LocusPocus      locus   1601    2000    .       .       .       
fragment=true
+seq09  AEGeAn::LocusPocus      locus   1601    2000    .       .       .       
.
 seq10  AEGeAn::LocusPocus      locus   1       801     .       .       .       
child_gene=1;child_mRNA=1;iiLocus_exception=delta-re-extend;riil=0
 seq10  AEGeAn::LocusPocus      locus   802     1500    .       .       .       
liil=0;child_gene=1;child_mRNA=1
-seq10  AEGeAn::LocusPocus      locus   1501    2000    .       .       .       
fragment=true
+seq10  AEGeAn::LocusPocus      locus   1501    2000    .       .       .       
.
 seq11  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;iiLocus_exception=delta-re-extend;riil=0
 seq11  AEGeAn::LocusPocus      locus   801     1500    .       .       .       
liil=0;child_gene=1;child_mRNA=1
-seq11  AEGeAn::LocusPocus      locus   1501    2000    .       .       .       
fragment=true
+seq11  AEGeAn::LocusPocus      locus   1501    2000    .       .       .       
.
 seq12  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=1;iiLocus_exception=delta-overlap-delta;riil=0
 seq12  AEGeAn::LocusPocus      locus   800     1500    .       .       .       
left_overlap=1;liil=0;child_gene=1;child_mRNA=1
-seq12  AEGeAn::LocusPocus      locus   1501    2000    .       .       .       
fragment=true
+seq12  AEGeAn::LocusPocus      locus   1501    2000    .       .       .       
.
 seq13  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=198;iiLocus_exception=delta-overlap-delta;riil=0
 seq13  AEGeAn::LocusPocus      locus   603     1300    .       .       .       
left_overlap=198;liil=0;child_gene=1;child_mRNA=1
-seq13  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
fragment=true
+seq13  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
.
 seq14  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=199;iiLocus_exception=delta-overlap-delta;riil=0
 seq14  AEGeAn::LocusPocus      locus   602     1300    .       .       .       
left_overlap=199;liil=0;child_gene=1;child_mRNA=1
-seq14  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
fragment=true
+seq14  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
.
 seq15  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=200;iiLocus_exception=delta-overlap-delta;riil=0
 seq15  AEGeAn::LocusPocus      locus   601     1300    .       .       .       
left_overlap=200;liil=0;child_gene=1;child_mRNA=1
-seq15  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
fragment=true
+seq15  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
.
 seq16  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=201;iiLocus_exception=delta-overlap-gene;riil=0
 seq16  AEGeAn::LocusPocus      locus   600     1300    .       .       .       
left_overlap=201;liil=0;child_gene=1;child_mRNA=1
-seq16  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
fragment=true
+seq16  AEGeAn::LocusPocus      locus   1301    1500    .       .       .       
.
 seq17  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=395;iiLocus_exception=delta-overlap-gene;riil=0
 seq17  AEGeAn::LocusPocus      locus   406     1200    .       .       .       
left_overlap=395;liil=0;child_gene=1;child_mRNA=1
-seq17  AEGeAn::LocusPocus      locus   1201    1500    .       .       .       
fragment=true
+seq17  AEGeAn::LocusPocus      locus   1201    1500    .       .       .       
.
 seq18  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=399;iiLocus_exception=delta-overlap-gene;riil=0
 seq18  AEGeAn::LocusPocus      locus   402     1200    .       .       .       
left_overlap=399;liil=0;child_gene=1;child_mRNA=1
-seq18  AEGeAn::LocusPocus      locus   1201    1500    .       .       .       
fragment=true
+seq18  AEGeAn::LocusPocus      locus   1201    1500    .       .       .       
.
 seq19  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1;right_overlap=400;iiLocus_exception=delta-overlap-gene;riil=0
 seq19  AEGeAn::LocusPocus      locus   401     1200    .       .       .       
left_overlap=400;liil=0;child_gene=1;child_mRNA=1
-seq19  AEGeAn::LocusPocus      locus   1201    1500    .       .       .       
fragment=true
+seq19  AEGeAn::LocusPocus      locus   1201    1500    .       .       .       
.
 seq20  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1
-seq20  AEGeAn::LocusPocus      locus   801     1001    .       .       .       
fragment=true
+seq20  AEGeAn::LocusPocus      locus   801     1001    .       .       .       
.
 seq21  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1
-seq21  AEGeAn::LocusPocus      locus   801     1000    .       .       .       
fragment=true
+seq21  AEGeAn::LocusPocus      locus   801     1000    .       .       .       
.
 seq22  AEGeAn::LocusPocus      locus   1       999     .       .       .       
child_gene=1;child_mRNA=1
 seq23  AEGeAn::LocusPocus      locus   1       801     .       .       .       
child_gene=1;child_mRNA=1
 seq24  AEGeAn::LocusPocus      locus   1       800     .       .       .       
child_gene=1;child_mRNA=1
diff --git a/data/gff3/mrot-cst-out-cds.gff3 b/data/gff3/mrot-cst-out-cds.gff3
index aae711a..957cac8 100644
--- a/data/gff3/mrot-cst-out-cds.gff3
+++ b/data/gff3/mrot-cst-out-cds.gff3
@@ -6,5 +6,5 @@
 #!genome-build-accession NCBI_Assembly:GCF_000220905.1
 #!annotation-date 7 April 2015
 #!annotation-source NCBI Megachile rotundata Annotation Release 101
-NW_003797177.1 AEGeAn::LocusPocus      locus   9652    19311   .       .       
.       effective_length=9660;iLocus_type=piLocus;child_gene=1;child_mRNA=1
-NW_003797177.1 AEGeAn::LocusPocus      locus   11405   18146   .       .       
.       
iiLocus_exception=intron-gene;iLocus_type=piLocus;child_gene=1;child_mRNA=4
+NW_003797177.1 AEGeAn::LocusPocus      locus   9652    19311   .       .       
.       effective_length=9660;iLocus_type=siLocus;child_gene=1;child_mRNA=1
+NW_003797177.1 AEGeAn::LocusPocus      locus   11405   18146   .       .       
.       
iiLocus_exception=intron-gene;iLocus_type=siLocus;child_gene=1;child_mRNA=4
diff --git a/data/gff3/nvit-exospindle-out.gff3 
b/data/gff3/nvit-exospindle-out.gff3
index 30da870..b836157 100644
--- a/data/gff3/nvit-exospindle-out.gff3
+++ b/data/gff3/nvit-exospindle-out.gff3
@@ -6,7 +6,7 @@
 #!genome-build-accession NCBI_Assembly:GCF_000002325.3
 #!annotation-date 3 June 2014
 #!annotation-source NCBI Nasonia vitripennis Annotation Release 101
-NC_015867.2    AEGeAn::LocusPocus      locus   370926  373152  .       .       
.       
child_gene=1;child_mRNA=1;right_overlap=262;iiLocus_exception=delta-overlap-delta;riil=0;effective_length=1965;iLocus_type=piLocus
-NC_015867.2    AEGeAn::LocusPocus      locus   372891  380536  .       .       
.       effective_length=6758;iLocus_type=piLocus;child_gene=1;child_mRNA=1
-NC_015867.2    AEGeAn::LocusPocus      locus   374998  378903  .       .       
.       
iiLocus_exception=intron-gene;iLocus_type=piLocus;child_gene=1;child_mRNA=1
-NC_015867.2    AEGeAn::LocusPocus      locus   379649  381835  .       .       
.       
left_overlap=888;liil=0;child_gene=1;child_mRNA=1;effective_length=2187;iLocus_type=piLocus
+NC_015867.2    AEGeAn::LocusPocus      locus   370926  373152  .       .       
.       
child_gene=1;child_mRNA=1;right_overlap=262;iiLocus_exception=delta-overlap-delta;riil=0;effective_length=1965;iLocus_type=siLocus
+NC_015867.2    AEGeAn::LocusPocus      locus   372891  380536  .       .       
.       effective_length=6758;iLocus_type=siLocus;child_gene=1;child_mRNA=1
+NC_015867.2    AEGeAn::LocusPocus      locus   374998  378903  .       .       
.       
iiLocus_exception=intron-gene;iLocus_type=siLocus;child_gene=1;child_mRNA=1
+NC_015867.2    AEGeAn::LocusPocus      locus   379649  381835  .       .       
.       
left_overlap=888;liil=0;child_gene=1;child_mRNA=1;effective_length=2187;iLocus_type=siLocus
diff --git a/data/scripts/miloci.py b/data/scripts/miloci.py
index be6425c..34a32e7 100755
--- a/data/scripts/miloci.py
+++ b/data/scripts/miloci.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# Copyright (c) 2010-2015, Daniel S. Standage and CONTRIBUTORS
+# Copyright (c) 2010-2016, Daniel S. Standage and CONTRIBUTORS
 #
 # The AEGeAn Toolkit is distributed under the ISC License. See
 # the 'LICENSE' file in the AEGeAn source code distribution or
@@ -45,7 +45,7 @@ def merge_iloci(loci):
                 attrs[key] = 0
             attrs[key] += value
 
-    attrstring = 'merged=true;iLocus_type=miLocus'
+    attrstring = 'iLocus_type=miLocus'
     for key in sorted(attrs):
         attrstring += ';%s=%d' % (key, attrs[key])
     gff3 = [seqid, 'AEGeAn::miloci.py', 'locus', str(start), str(end),
@@ -82,7 +82,7 @@ def parse_iloci(fp):
             if len(prev_loci) > 0:
                 yield merge_iloci(prev_loci)
                 prev_loci = []
-            line = re.sub('ID=[^;\n]+;*', 'geneless=true;', line)
+            line = re.sub('ID=[^;\n]+;*', '', line)
             line = re.sub('Name=[^;\n]+;*', '', line)
             yield line
     if len(prev_loci) > 0:
diff --git a/data/scripts/uloci.py b/data/scripts/uloci.py
index 1828f09..8d223d1 100755
--- a/data/scripts/uloci.py
+++ b/data/scripts/uloci.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# Copyright (c) 2010-2015, Daniel S. Standage and CONTRIBUTORS
+# Copyright (c) 2010-2016, Daniel S. Standage and CONTRIBUTORS
 #
 # The AEGeAn Toolkit is distributed under the ISC License. See
 # the 'LICENSE' file in the AEGeAn source code distribution or
@@ -111,8 +111,8 @@ if __name__ == '__main__':
     for seqid, seqlen in parse_gff3(args.infile):
         locid = args.idfmt % args.counter
         args.counter += 1
-        attrs = 'ID=%s;Name=%s;fragment=true;unannot=true;' % (locid, locid)
-        attrs += 'iLocus_type=iiLocus;effective_length=%d' % seqlen
+        attrs = 'ID=%s;Name=%s;unannot=true;' % (locid, locid)
+        attrs += 'iLocus_type=fiLocus;effective_length=%d' % seqlen
         fields = [seqid, args.src, 'locus', '1', str(seqlen), '.', '.', '.',
                   attrs]
         print(*fields, sep='\t')
diff --git a/docs/contrib.rst b/docs/contrib.rst
index 7888185..161cb5f 100644
--- a/docs/contrib.rst
+++ b/docs/contrib.rst
@@ -4,7 +4,8 @@ The following assisted in the development of the AEGeAn Toolkit 
and/or
 contributed to its code base.
 
 * Daniel S. Standage <[email protected]>, primary developer
-* Volker Brendel <[email protected]>, supervision and testing
+* Volker Brendel <[email protected]>, intellectual development, supervision,
+  and testing
 * Sascha Steinbiss <[email protected]> and Gordon Gremme
   <[email protected]>, integration with GenomeTools, including code examples
   and implementing feature requests
diff --git a/src/core/AgnLocus.c b/src/core/AgnLocus.c
index 04b2aa3..20ceb24 100644
--- a/src/core/AgnLocus.c
+++ b/src/core/AgnLocus.c
@@ -344,7 +344,7 @@ void agn_locus_data_aggregate(AgnLocus *locus, 
AgnComparisonData *data)
         break;
       default:
         desc = NULL;
-        fprintf(stderr, "error: unknow comp classification %d\n", c);
+        fprintf(stderr, "error: unknown comp classification %d\n", c);
         break;
     }
     desc->comparison_count++;
diff --git a/src/core/AgnLocusRefineStream.c b/src/core/AgnLocusRefineStream.c
index 0ae0e4d..65d1522 100644
--- a/src/core/AgnLocusRefineStream.c
+++ b/src/core/AgnLocusRefineStream.c
@@ -1,6 +1,6 @@
 /**
 
-Copyright (c) 2010-2015, Daniel S. Standage and CONTRIBUTORS
+Copyright (c) 2010-2016, Daniel S. Standage and CONTRIBUTORS
 
 The AEGeAn Toolkit is distributed under the ISC License. See
 the 'LICENSE' file in the AEGeAn source code distribution or
@@ -182,12 +182,12 @@ bool agn_locus_refine_stream_unit_test(AgnUnitTest *test)
     if(elen)
       test1a = strcmp(elen, "11466") == 0;
     gt_genome_node_delete(locus);
-    
+
     locus = gt_queue_get(queue);
     locusrange = gt_genome_node_get_range(locus);
     test1 = test1 && locusrange.start == 1916352 && locusrange.end == 1927323;
     gt_genome_node_delete(locus);
-    
+
     locus = gt_queue_get(queue);
     locusrange = gt_genome_node_get_range(locus);
     test1 = test1 && locusrange.start == 1918157 && locusrange.end == 1921155;
@@ -211,7 +211,7 @@ bool agn_locus_refine_stream_unit_test(AgnUnitTest *test)
     if(elen)
       test2a = strcmp(elen, "9660") == 0;
     gt_genome_node_delete(locus);
-    
+
     locus = gt_queue_get(queue);
     locusrange = gt_genome_node_get_range(locus);
     test2 = test2 && locusrange.start == 11405 && locusrange.end == 18146;
@@ -293,7 +293,7 @@ static bool 
refine_locus_check_intron_genes(AgnLocusRefineStream *stream,
     gt_array_delete(exons);
     return false;
   }
-  
+
   GtUword i;
   bool overlap = false;
   for(i = 0; i < gt_array_size(exons); i++)
@@ -368,7 +368,7 @@ static void locus_refine_stream_extend(AgnLocusRefineStream 
*stream,
       gnrange.end = origrange.end;
     else
       gnrange.end += stream->delta;
-    
+
     agn_locus_set_range(*gn, gnrange.start, gnrange.end);
     agn_assert(gt_range_contains(&origrange, &gnrange));
     gt_feature_node_set_source(fn, stream->source);
@@ -418,7 +418,7 @@ static void locus_refine_stream_extend(AgnLocusRefineStream 
*stream,
         break;
     }
   }
-  
+
   // If the iLoci are all coding or all non-coding, just assign their 
collective
   // length (sans overlap from previous unrefined iLocus) to the first refined
   // iLocus.
@@ -449,12 +449,12 @@ static void 
locus_refine_stream_extend(AgnLocusRefineStream *stream,
           }
         }
       }
-      const char *typestr = "piLocus";
+      const char *typestr = "siLocus";
       if(coding_status == false)
         typestr = "niLocus";
       else if(agn_locus_num_genes(*gn) > 1)
       {
-        typestr = "complex";
+        typestr = "ciLocus";
 
         char exceptstr[32];
         GtUword genenum = agn_typecheck_count(origfn, agn_typecheck_gene);
@@ -492,13 +492,13 @@ static void 
locus_refine_stream_extend(AgnLocusRefineStream *stream,
     bool cds1 = agn_locus_num_mrnas(*gn1) > 0;
     if(cds1 == true)
     {
-      gt_feature_node_add_attribute(fn1, "iLocus_type", "piLocus");
+      gt_feature_node_add_attribute(fn1, "iLocus_type", "siLocus");
       gt_feature_node_add_attribute(fn2, "iLocus_type", "niLocus");
     }
     else
     {
       gt_feature_node_add_attribute(fn1, "iLocus_type", "niLocus");
-      gt_feature_node_add_attribute(fn2, "iLocus_type", "piLocus");
+      gt_feature_node_add_attribute(fn2, "iLocus_type", "siLocus");
     }
 
     const char *exc = gt_feature_node_get_attribute(fn2, "iiLocus_exception");
@@ -524,7 +524,7 @@ static void locus_refine_stream_extend(AgnLocusRefineStream 
*stream,
           gt_feature_node_add_attribute(fn1, "riil", orig_riil);
       }
     }
-    
+
     // The genes overlap
     else
     {
@@ -611,14 +611,18 @@ static void 
locus_refine_stream_extend(AgnLocusRefineStream *stream,
           gt_feature_node_add_attribute(fn, "riil", "0");
       }
 
-      const char *type = "complex";
-      if(agn_locus_num_genes(*gn) == 1)
+      const char *type = "";
+      if(agn_locus_num_mrnas(*gn) == 0)
       {
-        if(agn_locus_num_mrnas(*gn) > 0)
-          type = "piLocus";
-        else
-          type = "niLocus";
-
+        type = "niLocus";
+      }
+      else if(agn_locus_num_genes(*gn) == 1)
+      {
+        type = "siLocus";
+      }
+      else
+      {
+        type = "ciLocus";
       }
       gt_feature_node_add_attribute(fn, "iLocus_type", type);
     }
@@ -655,12 +659,20 @@ static int 
locus_refine_stream_handler(AgnLocusRefineStream *stream,
     sprintf(lenstr, "%lu", gt_range_length(&rng) - ro);
     gt_feature_node_add_attribute(locus, "effective_length", lenstr);
 
-    if(gt_feature_node_number_of_children(locus) == 0)
-      gt_feature_node_add_attribute(locus, "iLocus_type", "iiLocus");
-    else if(agn_locus_num_mrnas(gn) > 0)
-      gt_feature_node_add_attribute(locus, "iLocus_type", "piLocus");
+    const char *loctype = gt_genome_node_get_user_data(gn, "iLocus_type");
+    if(loctype == NULL)
+    {
+      if(gt_feature_node_number_of_children(locus) == 0)
+        gt_feature_node_add_attribute(locus, "iLocus_type", "iiLocus");
+      else if(agn_locus_num_mrnas(gn) > 0)
+        gt_feature_node_add_attribute(locus, "iLocus_type", "siLocus");
+      else
+        gt_feature_node_add_attribute(locus, "iLocus_type", "niLocus");
+    }
     else
-      gt_feature_node_add_attribute(locus, "iLocus_type", "niLocus");
+    {
+      gt_feature_node_add_attribute(locus, "iLocus_type", loctype);
+    }
     gt_queue_add(stream->locusqueue, locus);
     return 0;
   }
diff --git a/src/core/AgnLocusStream.c b/src/core/AgnLocusStream.c
index 93ea047..f0f7f1b 100644
--- a/src/core/AgnLocusStream.c
+++ b/src/core/AgnLocusStream.c
@@ -1,6 +1,6 @@
 /**
 
-Copyright (c) 2010-2015, Daniel S. Standage and CONTRIBUTORS
+Copyright (c) 2010-2016, Daniel S. Standage and CONTRIBUTORS
 
 The AEGeAn Toolkit is distributed under the ISC License. See
 the 'LICENSE' file in the AEGeAn source code distribution or
@@ -262,13 +262,12 @@ static void locus_stream_extend(AgnLocusStream *stream, 
AgnLocus *locus)
                           locusrange.end);
       if(stream->endmode >= 0 && !stream->skip_iiLoci)
       {
-        AgnLocus *iilocus = agn_locus_new(seqid);
-        GtRange irange = { seqrange.start,
-                           locusrange.start - stream->delta - 1 };
-        agn_locus_set_range(iilocus, irange.start, irange.end);
-        GtFeatureNode *iilocfn = gt_feature_node_cast(iilocus);
-        gt_feature_node_add_attribute(iilocfn, "fragment", "true");
-        gt_queue_add(stream->locusqueue, iilocus);
+        AgnLocus *filocus = agn_locus_new(seqid);
+        GtRange irange = {seqrange.start, locusrange.start - stream->delta - 
1};
+        agn_locus_set_range(filocus, irange.start, irange.end);
+        gt_genome_node_add_user_data(filocus, "iLocus_type",
+                                     gt_cstr_dup("fiLocus"), gt_free_func);
+        gt_queue_add(stream->locusqueue, filocus);
       }
     }
     else
@@ -397,12 +396,12 @@ static void locus_stream_extend(AgnLocusStream *stream, 
AgnLocus *locus)
                           locusrange.end + stream->delta);
       if(stream->endmode >= 0 && !stream->skip_iiLoci)
       {
-        AgnLocus *term_locus = agn_locus_new(seqid);
-        agn_locus_set_range(term_locus,
-                            locusrange.end + stream->delta + 1, seqrange.end);
-        GtFeatureNode *tlfn = (GtFeatureNode *)term_locus;
-        gt_feature_node_add_attribute(tlfn, "fragment", "true");
-        gt_queue_add(stream->locusqueue, term_locus);
+        AgnLocus *filocus = agn_locus_new(seqid);
+        GtRange irange = {locusrange.end + stream->delta + 1, seqrange.end};
+        agn_locus_set_range(filocus, irange.start, irange.end);
+        gt_genome_node_add_user_data(filocus, "iLocus_type",
+                                     gt_cstr_dup("fiLocus"), gt_free_func);
+        gt_queue_add(stream->locusqueue, filocus);
       }
     }
     else
@@ -863,4 +862,3 @@ static void locus_stream_unit_test_loci(AgnUnitTest *test)
 
   gt_queue_delete(queue);
 }
-

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/debian-med/aegean.git

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to