Why do I receive the "File format must be GTF" error message when using the "GTFAnnotation" function in MATLAB?

3 次查看(过去 30 天)
In MATLAB, I am trying to load a GTF file using the "GTFAnnotation" function, but I received an error message that says:
Error using GTFAnnotation (line 111)
File format must be GTF.
How do I resolve this issue?

采纳的回答

MathWorks Support Team
Please note that you may encounter this issue if the GTF files you are working with have some entries that have missing "transcript_id" or "gene_id" attributes, or if there are invalid values in these attributes.
As a workaround, you can reformat your GTF files to work with the "GTFAnnotation" function by adding an empty string as the "transcript_id" attribute to the invalid entries or an empty string as the "gene_id" attribute to the invalid entries.
To perform this workaround, please consider the following code snippet that demonstrates how to replace the "transcript_id" attribute with an empty string:
% GTF file names originalFile = "myfile.gtf"; fixedEmptyTranscriptIdEntriesFile = "myfile_fixed.gtf"; % Read in GTF file (skip last empty line) gtfLines = readlines(originalFile, EmptyLineRule="skip"); % Find entries that do not contain "transcript_id" attribute (exclude header) invalidEntryIdx = ~contains(gtfLines, ("transcript_id" | textBoundary + "#")); % Add empty "transcript_id" attribute to the invalid entries gtfLines(invalidEntryIdx) = gtfLines(invalidEntryIdx) + ' transcript_id "";'; % Write to a new GTF file that has the invalid entries fixed writelines(gtfLines, fixedEmptyTranscriptIdEntriesFile); GTFAnnotationObject = GTFAnnotation(fixedEmptyTranscriptIdEntriesFile);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by