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