lmb-embrapa / machado

This repository provides users with a framework to store, search and visualize biological data.
GNU General Public License v3.0
26 stars 14 forks source link

Error when trying to import GFF files #303

Closed gledisonteixeira closed 3 years ago

gledisonteixeira commented 3 years ago

Ubuntu operating system 18.04 python version Python 3.6.9

Consegui subir o machado, importei o organismo teste de ATHALIANA

quando fui tentar subir o organismo PARACOCCIDIOIDES, ele registrou o organismo e subiu o fasta

somente na hora de subir o gff deu o erro abaixo:

machado@machado-pardb:~/machado-docker$ docker-compose exec machado python manage.py load_gff --file data/sample/genomes/Pb18-GFF-2019+NC-sorteddedup_final_out.gff.gz --organism 'paracoccidioides brasiliensis' Processing file: Pb18-GFF-2019+NC-sorteddedup_final_out.gff.gz 0%| | 1/68899 [00:00<1:59:26, 9.61it/s] Traceback (most recent call last): File "manage.py", line 22, in main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "/usr/local/lib/python3.6/dist-packages/django/core/management/init.py", line 401, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.6/dist-packages/django/core/management/init.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv self.execute(*args, cmd_options) File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 371, in execute output = self.handle(*args, *options) File "/usr/local/lib/python3.6/dist-packages/machado/management/commands/load_gff.py", line 113, in handle task.result() File "/usr/lib/python3.6/concurrent/futures/_base.py", line 425, in result return self.get_result() File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in get_result raise self._exception File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run result = self.fn(self.args, self.kwargs) File "/usr/local/lib/python3.6/dist-packages/machado/loaders/feature.py", line 279, in store_tabix_GFF_feature srcdbxref = Dbxref.objects.get(accession=tabix_feature.contig, db=srcdb) File "/usr/local/lib/python3.6/dist-packages/django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/local/lib/python3.6/dist-packages/django/db/models/query.py", line 431, in get self.model._meta.object_name machado.models.DoesNotExist: Dbxref matching query does not exist.

*** na pagina do machado diz que temnos que usar o tabix ...

2.6. Loading GFF files The first column of a GFF file is the reference sequence ID. Usually, in order to load a GFF file, it’s required to have a reference FASTA file loaded. But some GFF files already have the reference features such as chromosome or scaffold. In this case, there are two options:

Load the GFF directly, without a reference FASTA file Load the FASTA file and then load the GFF using the parameter ‘ignore’ to not load the reference features The GFF file must be indexed using tabix.

*** foi feita uma tentativa de subir apenas o GFF e o mesmo erro, ( sem subir o FASTA )

Espero que alguém possa me ajudar a fazer upload do arquivo,

a indexação foi feita da seguinte forma:

$ (grep ^"#" Pb18-GFF-2019+NC-sorteddedup_final.gff; grep -v ^"#" Pb18-GFF-2019+NC-sorteddedup_final.gff | sort -k1,1 -k4,4n) > Pb18-GFF-2019+NC-sorteddedup_final_out.gff

$ bgzip Pb18-GFF-2019+NC-sorteddedup_final_out.gff $ tabix -p gff Pb18-GFF-2019+NC-sorteddedup_final_out.gff.gz

pelo que vi a mensagem de erro é a abaixo:

machado.models.DoesNotExist: Dbxref matching query does not exist.

saberia me ajudar a acertar esse erro?

estou gostando muito do banco e do trabalho feito por voces,

ja subi o organismo Athaliana completo, falta somente o gff para subir o PARACOCCIDIOIDES,

desde ja agradeço a ajuda prestada

Setup

Python version: python version Python 3.6.9 Operating system: Ubuntu operating system 18.04

import sys; print(sys.version)
import platform; print(platform.python_implementation()); print(platform.platform())

(Please copy and run the above in your Python, and copy-and-paste the output)

Expected behaviour

(Please fill this in)

Actual behaviour

azneto commented 3 years ago

Gledison, Preciso melhorar essa mensagem de erro. Ela indica que algum ID da primeira coluna do GFF não foi encontrado. Você pode confirmar se todos os IDs da primeira coluna do GFF estão presentes no arquivo FASTA?

gledisonteixeira commented 3 years ago

Boa tarde Adhemar Zerlotini,

como é nosso primeiro contato gostaria de elogiar a estrutura feito por voce, muito boa,

bom o ATHALIANA subiu tranquilamente tanto como FASTA como GFF,

vou colar um trecho dos arquivos aqui para analise conjunta ( se possivel )

*** Arquivo FASTA:

rna0 gene=PADG_00001 ATGGTTGCCCGTCCCCGCCGCAATCCAGACAATCCAGTGGTCTTCTTCGATATCACTCTTGGAGGACAAG AACTAGGGAG ...

*** Arquivo GFF ( sem o tabix )

gff-version 3

!gff-spec-version 1.23

!processor NCBI annotwriter/Ensembl Fungi ncRNA data/ParaDB functional update for CDS

!genome-build Paracocci_br_Pb18_V2

!genome-build-accession NCBI_Assembly:GCF_000150735.1

sequence-region NW_011371358.1 1 3931613

species https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id=502780

NW_011371358.1 RefSeq region 1 3931613 . + . ID=id0;Dbxref=taxon:502780;Name=Unknown;chromosome=Unknown;gbkey=Src;genome=genomic;mol_type=genomic DNA;strain=Pb18 NW_011371358.1 RefSeq gene 3360 4646 . + . ID=gene0;Dbxref=GeneID:22579910;Name=PADG_00001;end_range=4646,.;gbkey=Gene;gene_biotype=protein_coding;locus_tag=PADG_00001;partial=true;start_range=.,3360 NW_011371358.1 RefSeq mRNA 3360 4646 . + . ID=rna0;Parent=gene0;Dbxref=GeneID:22579910,Genbank:XM_010757860.1;Name=XM_010757860.1;end_range=4646,.;gbkey=mRNA;partial=true;product=Peptidyl-prolyl cis-trans isomerase H;start_range=.,3360;transcript_id=XM_010757860.1

tem mais coisas os arquivos porem colei somente o inicio deles,

tentei somente FASTA e subiu OK, fui subir o GFF e nao foi deu o erro, fiz o tabix conforme abaixo:

$ (grep ^"#" Pb18-GFF-2019+NC-sorteddedup_final.gff; grep -v ^"#" Pb18-GFF-2019+NC-sorteddedup_final.gff | sort -k1,1 -k4,4n) > Pb18-GFF-2019+NC-sorteddedup_final_out.gff

$ bgzip Pb18-GFF-2019+NC-sorteddedup_final_out.gff $ tabix -p gff Pb18-GFF-2019+NC-sorteddedup_final_out.gff.gz

então removi o FASTA e tentei somente o GFF e tambem obtive o mesmo erro,

Adhemar desde ja agradeço a ajuda ...

um forte abraço,

Gledison

azneto commented 3 years ago

Gledison, Essa mensagem de erro indica que algum ID da primeira coluna do GFF não foi encontrado. Você pode confirmar se todos os IDs da primeira coluna do GFF estão presentes no arquivo FASTA?

Dê uma olhada nos arquivos de exemplo: https://github.com/lmb-embrapa/machado-docker/tree/master/data/sample/genomes

Observe que todos os IDs da primeira coluna do arquivo GFF Athaliana_167_TAIR10.chrM.gff3.gz estão presentes no arquivo FASTA de referência Athaliana_167_TAIR9.chrM.fa

gledisonteixeira commented 3 years ago

Adhemar, Obrigado pela resposta, vou comparar com os arquivos de exemplo, pelo menos ja sabemos o significado do erro, logo posto a resposta se deu certo, obrigado

gledisonteixeira commented 3 years ago

Adhemar, boa noite, tudo bem,

estamos tentado subir o gff do Pb18, aqueles dados acima foram manipulados, e estou procurando a causa e comparando com o arquivo de athaliana,

porem busquei os dados originais e o FASTA subiu e quando fui subir o gff me retornou o erro abaixo:

CommandError: ID supercontig:KN275957 already registered. duplicate key value violates unique constraint "feature_c1" DETAIL: Key (organism_id, uniquename, type_id)=(3, supercontig:KN275957, 780) already exists.

achei estranho porque o banco nao tem dado nenhum (somente o arquivo FASTA foi importado, sem o arquivo FASTA ele pede o FASTA pra subir o gff), e o mesmo diz que ja foi registrado,

estou debugando o erro, se souber de algo que caso nos ajude agradeço, ou como informou acima para comparar com algo,

desde ja agradeço e peço desculpas de tantas duvidas, espero que entenda da melhor forma,

abraço

Gledison

azneto commented 3 years ago

Os identificadores são únicos e não podem se repetir. A mensagem de erro indica que o GFF contém um registro da feature supercontig:KN275957 e que ela já foi cadastrada. Você pode verificar duas possibilidades:

1) Se você executou o load_gff e o programa foi interrompido por algum erro, é necessário apagar os dados carregados pelo load_gff usando o comando remove_file, antes de tentar carregar novamente.

2) Se o arquivo FASTA contém o ID supercontig:KN275957, esta feature precisa ser excluída do arquivo GFF.

azneto commented 3 years ago

Inactive for more than 10 days.