[Timina-developers] Montagem quase pronta
Brought to you by:
memtwalter,
rodbra
From: Rodrigo C. M. C. <rod...@ya...> - 2006-06-15 21:54:02
|
Boa noite! Acabo de concluir a identificação de ORFs em contigs e singlets. Eliminei o conceito de fragmento (classe 'br.unb.timina.entities.Fragment') e agora as seqüências de contigs e singlets nas quais se deve procurar por ORFs têm as máscaras de vetor eliminadas. O método que elimina máscaras de vetor foi adicionado à classe 'br.unb.timina.entities.Sequence' e pode, na verdade, remover de uma seqüência qualquer caractere informado como parâmetro. Até o momento só é possível a identificação de ORFs com o programa Glimmer2, executando-se o script 'run-glimmer2', que faz parte do pacote do Glimmer2. Digo que apenas esse programa pode ser executado, porque ele produz uma saída bem particular e no momento temos parser apenas para essa saída. Contudo, a adição de outros programas (como o Glimmer3) e o tratamento de suas respectivas saídas é simples: basta implementar os parsers e as classes de configuração de programas; não é necessário alterar as classes que controlam a identificação de ORFs, uma vez que, além do programa a ser executado, a classe que faz o parse da saída também é um parâmetro definido num arquivo de propriedades ('orf.properties'). Importante destacar que a identificação de ORFs foi modelada de forma análoga aos subsistemas de montagem e submissão, ou seja, há um módulo para geração de arquivos, um módulo de execução de programas (que, assim como os demais, também é uma extensão de 'br.unb.timina.engine.Pipeline') e um módulo de parse de arquivos. Porém, desta vez as classes e interfaces desses módulos não estão agrupadas sob pacotes "orf", estão nos mesmos pacotes das classes para montagem análogas. Isto se deu porque a identificação de ORFs é realizada junto com a montagem (imediatamente após na verdade), sendo controlada pela mesma classe ('br.unb.timina.assembly.AssemblyController'). Na camada de persistência, por outro lado, não foi criado um novo conjunto de classes: todos os serviços foram implementados em 'br.unb.timina.persistence.assembly.AssemblyPersistence' (os métodos de acesso foram implementados em 'br.unb.timina.persistence.containers.ORFContainer'). Outro comentário importante é que foram ampliados os parâmetros de um ORF: foram adicionados os parâmetros 'readingFrame' e 'rawScore', o primeiro associado à orientação da seqüência e o segundo à pontuação da identificação do ORF. Para a conclusão do subsistema de montagem restam apenas a interface com o usuário (duas telas e um gráfico) e incrementar a documentação das classes. Ao contrário do subsistema de submissão, acredito que a conclusão da montagem não implica em lançamento de uma nova versão, já que a navegação entre contigs, singlets e ORFs só ficará de fato pronta com o subsistema de anotação. Assim, quando o subsistema de montagem estiver pronto não lançarei uma versão, apenas marcarei um estado no CVS. Finalmente, algumas informações sobre o estado atual do Timina: Total de linhas de código: 10282 Número de pacotes: 32 Número de classes: 116 Número de interfaces: 26 Número de métodos: 576 (dados obtidos pelo Metrics, um plugin para o Eclipse, disponível em metrics.sourceforge.net) Espero ainda hoje concluir os trabalhos em montagem. Não mais por hora. Abraços. Rodrigo _______________________________________________________ Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! http://br.mobile.yahoo.com/mailalertas/ |