Add the management of pseudogenes
Former-commit-id: 26d91366e483cf17c440b251ab1e8ac5390699fe Former-commit-id: 0d3d69ba351bd174fe08387a474fd1137559e38a
This commit is contained in:
@ -95,6 +95,7 @@ function Unk(s) {
|
|||||||
|
|
||||||
/^c begin_entry/ {
|
/^c begin_entry/ {
|
||||||
Nexon = 0
|
Nexon = 0
|
||||||
|
FrameShift=0
|
||||||
delete Exon
|
delete Exon
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
@ -107,6 +108,9 @@ function Unk(s) {
|
|||||||
Exon[Nexon]["indels"] = $9 "+" $12
|
Exon[Nexon]["indels"] = $9 "+" $12
|
||||||
modif = $15; gsub("\"", "", modif)
|
modif = $15; gsub("\"", "", modif)
|
||||||
Exon[Nexon]["modif"] = modif
|
Exon[Nexon]["modif"] = modif
|
||||||
|
|
||||||
|
if ( $0 ~ /frameshifts +[0-9]+/)
|
||||||
|
FrameShift=1
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,34 +127,39 @@ function Unk(s) {
|
|||||||
|
|
||||||
/^c end_entry/ {
|
/^c end_entry/ {
|
||||||
|
|
||||||
GeneName = Unk(GeneName)
|
GeneName = Unk(GeneName)
|
||||||
PassType = Unk(PassType)
|
PassType = Unk(PassType)
|
||||||
|
|
||||||
gname = (Ngene == 1 ? GeneName : GeneName "_" ++Igene)
|
gname = (Ngene == 1 ? GeneName : GeneName "_" ++Igene)
|
||||||
locus = ""
|
locus = ""
|
||||||
|
|
||||||
Feature("gene", GeneLocation())
|
Feature("gene", GeneLocation())
|
||||||
QQualifier("gene", gname)
|
QQualifier("gene", gname)
|
||||||
QQualifier("locus_tag", locus)
|
QQualifier("locus_tag", locus)
|
||||||
|
if (FrameShift)
|
||||||
|
QQualifier("pseudogene","unknown")
|
||||||
|
|
||||||
Feature("CDS", CdsLocation())
|
Feature("CDS", CdsLocation())
|
||||||
SQualifier("codon_start", 1)
|
SQualifier("codon_start", 1)
|
||||||
SQualifier("transl_table", 11)
|
SQualifier("transl_table", 11)
|
||||||
QQualifier("gene", gname)
|
QQualifier("gene", gname)
|
||||||
QQualifier("locus_tag", locus)
|
QQualifier("locus_tag", locus)
|
||||||
QQualifier("product", Product)
|
if (FrameShift)
|
||||||
QQualifier("inference", "similar to DNA sequence:" Simil)
|
QQualifier("pseudogene","unknown")
|
||||||
QQualifier("inference", "org.annot -- detect pass:" PassType ":" PassInfo)
|
QQualifier("product", Product)
|
||||||
QQualifier("translation", Translat)
|
QQualifier("inference", "similar to DNA sequence:" Simil)
|
||||||
|
QQualifier("inference", "org.annot -- detect pass:" PassType ":" PassInfo)
|
||||||
|
if (FrameShift==0)
|
||||||
|
QQualifier("translation", Translat)
|
||||||
|
|
||||||
if (Nexon > 1) {
|
if (Nexon > 1) {
|
||||||
for (i = 1 ; i <= Nexon ; i++) {
|
for (i = 1 ; i <= Nexon ; i++) {
|
||||||
Feature("exon", ExonLocation(i))
|
Feature("exon", ExonLocation(i))
|
||||||
QQualifier("gene", gname)
|
QQualifier("gene", gname)
|
||||||
QQualifier("locus_tag", locus)
|
QQualifier("locus_tag", locus)
|
||||||
SQualifier("number", Exon[1]["strand"] == "+" ? i : Nexon-i+1)
|
SQualifier("number", Exon[1]["strand"] == "+" ? i : Nexon-i+1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user