[med-svn] [aegean] 02/09: Imported Upstream version 0.15.2+dfsg

Sascha Steinbiss sascha at steinbiss.name
Sun Mar 20 11:46:19 UTC 2016


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 <sascha at steinbiss.name>
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 <daniel.standage at gmail.com>, primary developer
-* Volker Brendel <vbrendel at indiana.edu>, supervision and testing
+* Volker Brendel <vbrendel at indiana.edu>, intellectual development, supervision,
+  and testing
 * Sascha Steinbiss <steinbiss at zbh.uni-hamburg.de> and Gordon Gremme
   <gordon at gremme.org>, 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



More information about the debian-med-commit mailing list