[med-svn] [Git][med-team/gffread][master] 8 commits: Adjust the autopkgtests to exclude the spades dependency on !amd64

Michael R. Crusoe gitlab at salsa.debian.org
Fri Apr 3 10:44:44 BST 2020



Michael R. Crusoe pushed to branch master at Debian Med / gffread


Commits:
6b140b1d by Michael R. Crusoe at 2020-03-04T11:15:36+01:00
Adjust the autopkgtests to exclude the spades dependency on !amd64

- - - - -
124bf8c6 by Michael R. Crusoe at 2020-04-03T11:13:39+02:00
routine-update: New upstream version

- - - - -
f766babe by Michael R. Crusoe at 2020-04-03T11:13:41+02:00
New upstream version 0.11.8
- - - - -
35a67b2b by Michael R. Crusoe at 2020-04-03T11:13:43+02:00
Update upstream source from tag 'upstream/0.11.8'

Update to upstream version '0.11.8'
with Debian dir baeac833c9e56e1cd13d57988eb01b8a0beab56a
- - - - -
617ab4db by Michael R. Crusoe at 2020-04-03T11:13:54+02:00
routine-update: Add salsa-ci file

- - - - -
9fa908fc by Michael R. Crusoe at 2020-04-03T11:13:56+02:00
routine-update: Rules-Requires-Root: no

- - - - -
3738cb7d by Michael R. Crusoe at 2020-04-03T11:14:01+02:00
Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, Repository-Browse.
- - - - -
9c3a8270 by Michael R. Crusoe at 2020-04-03T11:43:37+02:00
release 0.11.8-1

- - - - -


11 changed files:

- LICENSE
- README.md
- debian/changelog
- debian/control
- + debian/salsa-ci.yml
- debian/tests/control
- debian/tests/run-tests
- debian/upstream/metadata
- gff_utils.cpp
- gff_utils.h
- gffread.cpp


Changes:

=====================================
LICENSE
=====================================
@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) 2001-2018 Geo Pertea
+Copyright (c) 2001 Geo Pertea
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal


=====================================
README.md
=====================================
@@ -2,11 +2,10 @@
 GFF/GTF parsing utility providing format conversions, region filtering, 
 FASTA sequence extraction and more.
 
-
 Use gffread -h to check the usage options.
 
-Compiling this program from source requires my other code 
-library, [GCLib](../../../gclib). It can be done like this:
+Compiling this program from source requires the [GCLib](../../../gclib) code 
+library. Building the program can be done like this:
 
 ```
   cd /some/build/dir
@@ -15,4 +14,5 @@ library, [GCLib](../../../gclib). It can be done like this:
   cd gffread
   make release
 ```
+
 This should build the **gffread** binary in the current directory.


=====================================
debian/changelog
=====================================
@@ -1,3 +1,14 @@
+gffread (0.11.8-1) unstable; urgency=medium
+
+  * Adjust the autopkgtests to exclude the spades dependency on !amd64
+  * New upstream version
+  * Add salsa-ci file (routine-update)
+  * Rules-Requires-Root: no (routine-update)
+  * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository,
+    Repository-Browse.
+
+ -- Michael R. Crusoe <michael.crusoe at gmail.com>  Fri, 03 Apr 2020 11:43:09 +0200
+
 gffread (0.11.7-2) unstable; urgency=medium
 
   [ Steffen Moeller ]


=====================================
debian/control
=====================================
@@ -5,11 +5,12 @@ Uploaders: Andreas Tille <tille at debian.org>,
 Section: science
 Priority: optional
 Build-Depends: debhelper-compat (= 12),
-               libgclib-dev (>= 0.11.4)
+               libgclib-dev
 Standards-Version: 4.5.0
 Vcs-Browser: https://salsa.debian.org/med-team/gffread
 Vcs-Git: https://salsa.debian.org/med-team/gffread.git
 Homepage: https://ccb.jhu.edu/software/stringtie/gff.shtml
+Rules-Requires-Root: no
 
 Package: gffread
 Architecture: any


=====================================
debian/salsa-ci.yml
=====================================
@@ -0,0 +1,4 @@
+---
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml


=====================================
debian/tests/control
=====================================
@@ -1,2 +1,2 @@
 Tests: run-tests
-Depends: gffread, bash, augustus-doc, bedtools-test, cnvkit, emboss-data, emboss-test, gbrowse, genometools-common, gff2aplot, gff2ps, htslib-test, libbio-graphics-perl, optimir, proteinortho, python3-gffutils, python3-pybedtools, r-bioc-genomicfeatures, r-bioc-gviz, r-bioc-rhtslib, r-bioc-rtracklayer, seqan-apps, spades, trinityrnaseq-examples
+Depends: gffread, bash, augustus-doc, bedtools-test, cnvkit, emboss-data, emboss-test, gbrowse, genometools-common, gff2aplot, gff2ps, htslib-test, libbio-graphics-perl, optimir, proteinortho, python3-gffutils, python3-pybedtools, r-bioc-genomicfeatures, r-bioc-gviz, r-bioc-rhtslib, r-bioc-rtracklayer, seqan-apps, spades [amd64], trinityrnaseq-examples, dpkg-dev


=====================================
debian/tests/run-tests
=====================================
@@ -10,7 +10,11 @@ cd "$AUTOPKGTEST_TMP"
 # generated via
 # apt-file search --package-only --regexp '\.gff.?$' | grep -v -E "bedops|cct|ugene|gbrowse-data"
 
-PACKAGES="augustus-doc, bedtools-test, cnvkit, emboss-data, emboss-test, gbrowse, genometools-common, gff2aplot, gff2ps, htslib-test, libbio-graphics-perl, optimir, proteinortho, python3-gffutils, python3-pybedtools, r-bioc-genomicfeatures, r-bioc-gviz, r-bioc-rhtslib, r-bioc-rtracklayer, seqan-apps, spades, trinityrnaseq-examples"
+PACKAGES="augustus-doc, bedtools-test, cnvkit, emboss-data, emboss-test, gbrowse, genometools-common, gff2aplot, gff2ps, htslib-test, libbio-graphics-perl, optimir, proteinortho, python3-gffutils, python3-pybedtools, r-bioc-genomicfeatures, r-bioc-gviz, r-bioc-rhtslib, r-bioc-rtracklayer, seqan-apps, trinityrnaseq-examples"
+
+if [ "$(dpkg-architecture -qDEB_BUILD_ARCH)" = "amd64" ] ; then
+	PACKAGES+=", spades"
+fi
 
 IFS=", " read -r -a pkgs <<< ${PACKAGES}
 


=====================================
debian/upstream/metadata
=====================================
@@ -1,3 +1,5 @@
+Bug-Database: https://github.com/gpertea/gffread/issues
+Bug-Submit: https://github.com/gpertea/gffread/issues/new
 Registry:
  - Name: OMICtools
    Entry: OMICS_28050
@@ -5,4 +7,5 @@ Registry:
    Entry: gffread
  - Name: bio.tools
    Entry: gffread
-Repository: https://github.com/gpertea/gffread
+Repository: https://github.com/gpertea/gffread.git
+Repository-Browse: https://github.com/gpertea/gffread


=====================================
gff_utils.cpp
=====================================
@@ -2,38 +2,12 @@
 
 bool verbose=false; //same with GffReader::showWarnings and GffLoader::beVserbose
 
-//bool debugState=false;
-/*
-void printTabFormat(FILE* f, GffObj* t) {
-	static char dbuf[1024];
-	fprintf(f, "%s\t%s\t%c\t%d\t%d\t%d\t", t->getID(), t->getGSeqName(), t->strand, t->start, t->end, t->exons.Count());
-	t->printExonList(f);
-	if (t->hasCDS()) fprintf(f, "\t%d:%d", t->CDstart, t->CDend);
-	 else fprintf(f, "\t.");
-
-	if (t->getGeneID()!=NULL)
-	    fprintf(f, "\tgeneID=%s",t->getGeneID());
-	if (t->getGeneName()!=NULL) {
-	    GffObj::decodeHexChars(dbuf, t->getGeneName());
-	    fprintf(f, "\tgene_name=%s", dbuf);
-	}
-	if (t->attrs!=NULL) {
-	    for (int i=0;i<t->attrs->Count();i++) {
-	       const char* attrname=t->getAttrName(i);
-	       GffObj::decodeHexChars(dbuf, t->attrs->Get(i)->attr_val);
-	       fprintf(f,"\t%s=%s", attrname, dbuf);
-	    }
-	}
-	fprintf(f, "\n");
-}
-*/
-
-void printFasta(FILE* f, GStr& defline, char* seq, int seqlen, bool useStar) {
+void printFasta(FILE* f, GStr* defline, char* seq, int seqlen, bool useStar) {
  if (seq==NULL) return;
  int len=(seqlen>0)?seqlen:strlen(seq);
  if (len<=0) return;
- if (!defline.is_empty())
-     fprintf(f, ">%s\n",defline.chars());
+ if (defline!=NULL)
+     fprintf(f, ">%s\n",defline->chars());
  int ilen=0;
  for (int i=0; i < len; i++, ilen++) {
    if (ilen == 70) {


=====================================
gff_utils.h
=====================================
@@ -627,7 +627,7 @@ class GffLoader {
 
 };
 
-void printFasta(FILE* f, GStr& defline, char* seq, int seqlen=-1, bool useStar=false);
+void printFasta(FILE* f, GStr* defline, char* seq, int seqlen=-1, bool useStar=false);
 
 //void printTabFormat(FILE* f, GffObj* t);
 


=====================================
gffread.cpp
=====================================
@@ -4,7 +4,7 @@
 #define __STDC_FORMAT_MACROS
 #include <inttypes.h>
 
-#define VERSION "0.11.7"
+#define VERSION "0.11.8"
 
 #define USAGE "gffread v" VERSION ". Usage:\n\
 gffread <input_gff> [-g <genomic_seqs_fasta> | <dir>][-s <seq_info.fsize>] \n\
@@ -105,9 +105,8 @@ Output options:\n\
        both upstream and downstream of the transcript boundaries\n\
  -x    write a fasta file with spliced CDS for each GFF transcript\n\
  -y    write a protein fasta file with the translation of CDS for each record\n\
- -W    for -w and -x options, write in the FASTA defline the exon\n\
+ -W    for -w and -x options, write in the FASTA defline all the exon\n\
        coordinates projected onto the spliced sequence;\n\
-       for -y option, write transcript attributes in the FASTA defline\n\
  -S    for -y option, use '*' instead of '.' as stop codon translation\n\
  -L    Ensembl GTF to GFF3 conversion (implies -F; should be used with -m)\n\
  -m    <chr_replace> is a name mapping table for converting reference \n\
@@ -128,6 +127,9 @@ Output options:\n\
        pseudo-attributes (prefixed by @) are recognized:\n\
        @id, @geneid, @chr, @start, @end, @strand, @numexons, @exons, \n\
        @cds, @covlen, @cdslen\n\
+       If any of -w/-y/-x FASTA output files are enabled, the same fields\n\
+       (excluding @id) are appended to the definition line of corresponding\n\
+       FASTA records\n\
  -v,-E expose (warn about) duplicate transcript IDs and other potential\n\
        problems with the given GFF/GTF records\n\
 "
@@ -161,7 +163,8 @@ class RefTran {
 enum ETableFieldType {
   ctfGFF_Attr=0, // attribute name as is
   ctfGFF_ID, //ID or @id or transcript_id
-  ctfGFF_geneID, //geneID or @gene_id
+  ctfGFF_geneID, //geneID or @gene_id or @geneid
+  ctfGFF_geneName, //geneName or @gene_name or @genename
   ctfGFF_Parent, //Parent or @parent
   ctfGFF_chr, //@chr
   ctfGFF_feature, //@feature
@@ -296,6 +299,7 @@ void setTableFormat(GStr& s) {
 	 specialFields.Add("chr", new ETableFieldType(ctfGFF_chr));
 	 specialFields.Add("id", new ETableFieldType(ctfGFF_ID));
 	 specialFields.Add("geneid", new ETableFieldType(ctfGFF_geneID));
+	 specialFields.Add("genename", new ETableFieldType(ctfGFF_geneName));
 	 specialFields.Add("parent", new ETableFieldType(ctfGFF_Parent));
 	 specialFields.Add("feature", new ETableFieldType(ctfGFF_feature));
 	 specialFields.Add("start", new ETableFieldType(ctfGFF_start));
@@ -312,6 +316,7 @@ void setTableFormat(GStr& s) {
 	 while (s.nextToken(w)) {
       if (w[0]=='@') {
     	  w=w.substr(1);
+    	  w.lower();
     	  ETableFieldType* v=specialFields.Find(w.chars());
     	  if (v!=NULL) {
     		  CTableField tcol(*v);
@@ -330,6 +335,11 @@ void setTableFormat(GStr& s) {
     	  tableCols.Add(tcol);
     	  continue;
       }
+      if (w=="geneID" || w=="gene_id") {
+    	  CTableField tcol(ctfGFF_geneID);
+    	  tableCols.Add(tcol);
+    	  continue;
+      }
       if (w=="Parent") {
     	  CTableField tcol(ctfGFF_Parent);
     	  tableCols.Add(tcol);
@@ -431,6 +441,88 @@ int adjust_stopcodon(GffObj& gffrec, int adj, GList<GSeg>* seglst=NULL) {
   return realadj;
  }
 
+void printTableData(FILE* f, GffObj& g, bool inFasta=false) {
+ //using attribute list in tableCols
+	char* av=NULL;
+	for(int i=0;i<tableCols.Count();i++) {
+		if (i>0 || inFasta) {
+     	   if (!inFasta || tableCols[i].type!=ctfGFF_ID)
+     		   fprintf(f,"\t");
+		}
+		switch(tableCols[i].type) {
+		case ctfGFF_Attr:
+			av=g.getAttr(tableCols[i].name.chars());
+			fprintf(f,"%s",av!=NULL? av : ".");
+			break;
+		case ctfGFF_chr:
+			fprintf(f,"%s",g.getGSeqName());
+			break;
+		case ctfGFF_ID:
+			if (!inFasta)
+			  fprintf(f,"%s",g.getID());
+			break;
+		case ctfGFF_geneID:
+			fprintf(f,"%s",g.getGeneID()!=NULL ? g.getGeneID() : ".");
+			break;
+		case ctfGFF_geneName:
+			fprintf(f,"%s",g.getGeneName()!=NULL ? g.getGeneName() : ".");
+			break;
+		case ctfGFF_Parent:
+			fprintf(f,"%s",g.parent!=NULL ? g.parent->getID() : ".");
+			break;
+		case ctfGFF_feature:
+			fprintf(f,"%s",g.getFeatureName());
+			break;
+		case ctfGFF_start:
+			fprintf(f,"%d",g.start);
+			break;
+		case ctfGFF_end:
+			fprintf(f,"%d",g.end);
+			break;
+		case ctfGFF_strand:
+			fprintf(f,"%c",g.strand);
+			break;
+		case ctfGFF_numexons:
+			fprintf(f,"%d",g.exons.Count());
+			break;
+		case ctfGFF_exons:
+			if (g.exons.Count()>0) {
+				for (int x=0;x<g.exons.Count();x++) {
+					if (x>0) fprintf(f,",");
+					fprintf(f,"%d-%d",g.exons[x]->start, g.exons[x]->end);
+				}
+			} else fprintf(f,".");
+			break;
+		case ctfGFF_cds:
+			if (g.hasCDS()) {
+				GVec<GffExon> cds;
+				g.getCDSegs(cds);
+				for (int x=0;x<cds.Count();x++) {
+					if (x>0) fprintf(f,",");
+				    fprintf(f,"%d-%d",cds[x].start, cds[x].end);
+				}
+			}
+			else fprintf(f,".");
+			break;
+		case ctfGFF_covlen:
+			fprintf(f, "%d", g.covlen);
+			break;
+		case ctfGFF_cdslen:
+			if (g.hasCDS()) {
+				GVec<GffExon> cds;
+				g.getCDSegs(cds);
+				int clen=0;
+				for (int x=0;x<cds.Count();x++)
+				    clen+=cds[x].end-cds[x].start+1;
+				fprintf(f, "%d", clen);
+			}
+			else fprintf(f, "0");
+			break;
+		} //switch
+	}
+	fprintf(f,"\n");
+}
+
 bool process_transcript(GFastaDb& gfasta, GffObj& gffrec) {
  if (!gffrec.isTranscript()) return false; //shouldn't call this function unless it's a transcript
  //returns true if the transcript passed the filter
@@ -650,25 +742,16 @@ bool process_transcript(GFastaDb& gfasta, GffObj& gffrec) {
 			 if (cdsaa==NULL) { //translate now if not done before
 			   cdsaa=translateDNA(cdsnt, aalen, seqlen);
 			 }
-			 GStr defline(gffrec.getID());
-			 if (gffrec.attrs!=NULL) {
-				 //append all attributes found for each transcripts
-				for (int i=0;i<gffrec.attrs->Count();i++) {
-				  defline.append(" ");
-				  defline.append(gffrec.getAttrName(i));
-				  defline.append("=");
-				  char* s=gffrec.getAttrValue(i);
-				  if (s[0]=='"') defline.append(s);
-				  else defline.appendQuoted(s, '{', true);
-				}
-			 }
 			 if (aalen>0) {
 			   if (cdsaa[aalen-1]=='.' || cdsaa[aalen-1]=='\0') --aalen; //avoid printing the stop codon
-			   printFasta(f_y, defline, cdsaa, aalen, StarStop);
+ 			   fprintf(f_y, ">%s", gffrec.getID());
+ 			   if (fmtTable) printTableData(f_y, gffrec, true);
+ 			   else fprintf(f_y, "\n");
+			   printFasta(f_y, NULL, cdsaa, aalen, StarStop);
 			 }
 	  }
 	  if (f_x!=NULL) { //CDS only
-			 GStr defline(gffrec.getID());
+			 GStr defline(gffrec.getID(), 94);
 			 if (writeExonSegs) {
 				  defline.append(" loc:");
 				  defline.append(gffrec.getGSeqName());
@@ -685,19 +768,11 @@ bool process_transcript(GFastaDb& gfasta, GffObj& gffrec) {
 					  defline.append("-");
 					  defline+=(int)seglst[i].end;
 					  }
-				  }
-			 if (gffrec.attrs!=NULL) {
-				 //append all attributes found for each transcript
-				for (int i=0;i<gffrec.attrs->Count();i++) {
-					defline.append(" ");
-					defline.append(gffrec.getAttrName(i));
-					defline.append("=");
-					char* s=gffrec.getAttrValue(i);
-					if (s[0]=='"') defline.append(s);
-					else defline.appendQuoted(s, '{', true);
-				}
-			}
-			printFasta(f_x, defline, cdsnt, seqlen);
+			 }
+			 fprintf(f_x, ">%s", defline.chars());
+			 if (fmtTable) printTableData(f_x, gffrec, true);
+			 else fprintf(f_x, "\n");
+			 printFasta(f_x, NULL, cdsnt, seqlen);
 	  }
 	  GFREE(cdsnt);
 	  GFREE(cdsaa);
@@ -758,18 +833,10 @@ bool process_transcript(GFastaDb& gfasta, GffObj& gffrec) {
 				}
 		  }
 
-		  if (gffrec.attrs!=NULL) {
-			  //append all attributes found for each transcripts
-			  for (int i=0;i<gffrec.attrs->Count();i++) {
-				  defline.append(" ");
-				  defline.append(gffrec.getAttrName(i));
-				  defline.append("=");
-				  char* s=gffrec.getAttrValue(i);
-				  if (s[0]=='"') defline.append(s);
-				  else defline.appendQuoted(s, '{', true);
-			  }
-		  }
-		  printFasta(f_w, defline, exont, seqlen);
+		  fprintf(f_w, ">%s", defline.chars());
+		  if (fmtTable) printTableData(f_w, gffrec, true);
+		    else fprintf(f_w, "\n");
+		  printFasta(f_w, NULL, exont, seqlen);
 		  GFREE(exont);
 	  }
   } //writing f_w (spliced exons)
@@ -941,84 +1008,6 @@ void printGffObj(FILE* f, GffObj* gfo, GStr& locname, GffPrintMode exonPrinting,
     t.printGxf(f, exonPrinting, tracklabel, NULL, decodeChars);
 }
 
-
-void printGxfTab(FILE* f, GffObj& g) {
- //using attribute list in tableCols
-	char* av=NULL;
-	for(int i=0;i<tableCols.Count();i++) {
-		if (i>0) fprintf(f,"\t");
-		switch(tableCols[i].type) {
-		case ctfGFF_Attr:
-			av=g.getAttr(tableCols[i].name.chars());
-			if (av!=NULL) fprintf(f,"%s",av);
-			else fprintf(f, ".");
-			break;
-		case ctfGFF_chr:
-			fprintf(f,"%s",g.getGSeqName());
-			break;
-		case ctfGFF_ID:
-			fprintf(f,"%s",g.getID());
-			break;
-		case ctfGFF_geneID:
-			fprintf(f,"%s",g.getGeneID());
-			break;
-		case ctfGFF_Parent:
-			if (g.parent!=NULL) fprintf(f,"%s",g.parent->getID());
-			else fprintf(f, ".");
-			break;
-		case ctfGFF_feature:
-			fprintf(f,"%s",g.getFeatureName());
-			break;
-		case ctfGFF_start:
-			fprintf(f,"%d",g.start);
-			break;
-		case ctfGFF_end:
-			fprintf(f,"%d",g.end);
-			break;
-		case ctfGFF_strand:
-			fprintf(f,"%c",g.strand);
-			break;
-		case ctfGFF_numexons:
-			fprintf(f,"%d",g.exons.Count());
-			break;
-		case ctfGFF_exons:
-			if (g.exons.Count()>0) {
-				for (int x=0;x<g.exons.Count();x++) {
-					if (x>0) fprintf(f,",");
-					fprintf(f,"%d-%d",g.exons[x]->start, g.exons[x]->end);
-				}
-			} else fprintf(f,".");
-			break;
-		case ctfGFF_cds:
-			if (g.hasCDS()) {
-				GVec<GffExon> cds;
-				g.getCDSegs(cds);
-				for (int x=0;x<cds.Count();x++) {
-					if (x>0) fprintf(f,",");
-				    fprintf(f,"%d-%d",cds[x].start, cds[x].end);
-				}
-			}
-			else fprintf(f,".");
-			break;
-		case ctfGFF_covlen:
-			fprintf(f, "%d", g.covlen);
-			break;
-		case ctfGFF_cdslen:
-			if (g.hasCDS()) {
-				GVec<GffExon> cds;
-				g.getCDSegs(cds);
-				int clen=0;
-				for (int x=0;x<cds.Count();x++)
-				    clen+=cds[x].end-cds[x].start+1;
-				fprintf(f, "%d", clen);
-			}
-			else fprintf(f, "0");
-			break;
-		}
-	}
-	fprintf(f,"\n");
-}
-
 void printAsTable(FILE* f, GffObj* gfo, int* out_counter=NULL) {
     GffObj& t=*gfo;
     GTData* tdata=(GTData*)(t.uptr);
@@ -1032,10 +1021,10 @@ void printAsTable(FILE* f, GffObj* gfo, int* out_counter=NULL) {
 			  pdata->geneinfo->finalize();
 		 //t.parent->addAttr("locus", locname.chars());
 		 //(*out_counter)++; ?
-		 printGxfTab(f, *t.parent);
+		 printTableData(f, *t.parent);
 		 T_NO_PRINT(t.parent->udata);
 	 }
-    printGxfTab(f, *gfo);
+    printTableData(f, *gfo);
 }
 
 int main(int argc, char* argv[]) {
@@ -1423,7 +1412,7 @@ int main(int argc, char* argv[]) {
                  if (firstGSeqHeader) { printGSeqHeader(f_out, gdata); firstGSeqHeader=false; }
                  gfst.printGxf(f_out, exonPrinting, tracklabel, NULL, decodeChars);
                }
-               else printGxfTab(f_out, gfst);
+               else printTableData(f_out, gfst);
              }
              ++gfs_i;
            }
@@ -1448,13 +1437,13 @@ int main(int argc, char* argv[]) {
 					 if (pdata && pdata->geneinfo!=NULL)
 						  pdata->geneinfo->finalize();
 					 if (fmtTable)
-						 printGxfTab(f_out, *(t.parent));
+						 printTableData(f_out, *(t.parent));
 					 else
 						 t.parent->printGxf(f_out, exonPrinting, tracklabel, NULL, decodeChars);
 					 T_NO_PRINT(t.parent->udata);
 				 }
 				 if (fmtTable)
-					 printGxfTab(f_out, t);
+					 printTableData(f_out, t);
 				 else
 					 t.printGxf(f_out, exonPrinting, tracklabel, NULL, decodeChars);
              }
@@ -1472,7 +1461,7 @@ int main(int argc, char* argv[]) {
               if (firstGSeqHeader) { printGSeqHeader(f_out, gdata); firstGSeqHeader=false; }
               gfst.printGxf(f_out, exonPrinting, tracklabel, NULL, decodeChars);
            } else
-              printGxfTab(f_out, gfst);
+              printTableData(f_out, gfst);
          }
          ++gfs_i;
       }



View it on GitLab: https://salsa.debian.org/med-team/gffread/-/compare/d8cb2122560e965646995eaa154489637dbe30a5...9c3a82700d6eb7d38e62e94f7ed93cd0edac346d

-- 
View it on GitLab: https://salsa.debian.org/med-team/gffread/-/compare/d8cb2122560e965646995eaa154489637dbe30a5...9c3a82700d6eb7d38e62e94f7ed93cd0edac346d
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20200403/0aa7c8b2/attachment-0001.html>


More information about the debian-med-commit mailing list