| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 09:50:06
|
Rkardo58
Smalltalk
Membro desde: 26/01/2012 15:57:13
Mensagens: 2
Offline
|
Boas estou com grandes dificuldades....
Alguém me pode ajudar? preciso de fazer um programa que faça isto :
i) ler uma lista de sequências de ficheiro em formato Fasta que constituirão a base de dados local a usar
ii) dada uma sequência query, identificar uma lista de sequências similares ordenando--‐as pelo respectivo score
iii) escrever o resultado num ficheiro de texto num formato perceptível para o utilizador
alguém sabe de links com informação para me ajudar ou até algoritmos?
Obrigado
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 10:00:52
|
abmpicoli
JavaTeenager
Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline
|
Carinha, isso está me cheirando a utilização de Regex.
Nota: Isso é um forum Java, tive que buscar no google que c. é esse formato FASTA...
Veja a classe java.util.regex.Pattern http://docs.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html
Se você quiser fazer um negócio mais sofisticado, tem a possibilidade de você usar uma engine de buscas tipo o Lucene. http://lucene.apache.org/java/docs/index.html
Para ler e gravar arquivos-texto, o que você precisa é das classes java.io.Writer, em especial a FileWriter.
Para ordenar a lista de sequencias, você pode usar o java.util.TreeSet, especificando um Comparator que ordene pela pontuação.
|
.x. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 10:02:20
|
Tchello
GUJ Master
![[Avatar]](/images/avatar/901db33c84e81b1a30e59949bbcb112b.png)
Membro desde: 07/06/2008 14:41:04
Mensagens: 1695
Offline
|
Cara, esse título não está nada claro.
Você usou algum tradutor automático? Se esse for o caso poste a forma original, melhor do que usar essa bagaça.
Anyway, poste dúvidas mais pontuais, o que você fez foi postar o enunciado e perguntar por algorítimos, nisso ninguém poderá te ajudar a menos que façam seu trabalho todo (o que não vai ser o caso). Comece a implementar ou faça perguntas mais específicas, pontuais, tenha foco.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 10:04:32
|
abmpicoli
JavaTeenager
Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline
|
Carinha, outra coisa, se esse banco de sequências é muito grande, talvez seja mais interessante que ele fosse armazenado em um banco de dados relacional, como o MySQL. Daí é possível fazer buscas de texto nessa base.
|
.x. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 10:29:42
|
windsofhell
GUJ Master
Membro desde: 15/06/2007 08:31:17
Mensagens: 1687
Localização: Stockholm - Sweden
Offline
|
Em que linguagem vc esta fazendo isso??
Quando eu trabalhava com bioinformatica eu usava bastante Perl.
Primeiro, varios aquivos de sequencias no formato FASTA no seu diretorio, vc vai ter pegar uma lista dos arquivos, com Perl vc pode fazer algo do tipo:
Como o FASTA, vai ser algo do tipo:
Voce tera que ignorar a primeira linha do arquivo, ai eh soh fazer uma regular expression para pegar o valor que vc quiser, vc tem que verificar quantos aminoacidos em sequencia vc vai considerar um match.
Mais ou menos assim:
PS: Perdoe se estiver alguma coisa errada, faz anos que eu nao programo em Perl e eu nao testei o codigo! ;)
//Daniel
This message was edited 3 times. Last update was at 27/01/2012 10:41:27
|
Nao respondo MP!!!
Site: http://downhillracer.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 11:28:24
|
Rkardo58
Smalltalk
Membro desde: 26/01/2012 15:57:13
Mensagens: 2
Offline
|
Boas
Pretende-se usar linguagem Java para fazer o programa. O FASTA é um tipo de formato usado em bioinformática, mas não passa de um ficheiro txt normal.
A minha dúvida é como se implementa um método que leia um ficheiro de texto e que e que depois de correr o programa guarde o resultado num outro ficheiro txt.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2012 11:30:05
|
windsofhell
GUJ Master
Membro desde: 15/06/2007 08:31:17
Mensagens: 1687
Localização: Stockholm - Sweden
Offline
|
Rkardo58 wrote:Boas
Pretende-se usar linguagem Java para fazer o programa. O FASTA é um tipo de formato usado em bioinformática, mas não passa de um ficheiro txt normal.
A minha dúvida é como se implementa um método que leia um ficheiro de texto e que e que depois de correr o programa guarde o resultado num outro ficheiro txt.
Se vc vai usar Java, aqui tem alguns exemplos:
http://www.javapractices.com/topic/TopicAction.do?Id=42
//Daniel
|
Nao respondo MP!!!
Site: http://downhillracer.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/01/2012 16:58:10
|
felipepratalima
HelloWorld
Membro desde: 17/10/2006 10:19:05
Mensagens: 11
Offline
|
Dá uma olhada no Biojava: http://biojava.org/wiki/Main_Page, com ele é fácil ler e escrever arquivos FASTA, ele também faz operações de alinhamento.
Porém, acredito que a busca que você quer é realizada por um programa chamado BLAST (http://www.ebi.ac.uk/Tools/sss/ncbiblast/nucleotide.html ou http://blast.ncbi.nlm.nih.gov/Blast.cgi). Se você quiser fazer essa busca em um dos bancos de dados do consórcio INSDC (NCBI, EMBL e DDBJ) você possui Webservices (veja nos sites deles, um dos mais fáceis de usar é a URLAPI do NCBI, ou QBLAST como também é chamado), mas se você quer fazer a busca na sua base eu acho uma boa alternativa você usar o programa BLAST em linha de comando (http://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=BlastDocs&DOC_TYPE=Download), pois é necessário preparar a sua base (que será um arquivo FASTA com todas as sequências dessa base), então você pode chamar o BLAST a partir do Java e fazer o parse dos resultados com Biojava por exemplo, e pode acreditar o BLAST é muito rápido - mesmo em bases grandes.
Com relação a como você quer exibir para o usuário o resultado das consultas, eu acho que você deveria se inspirar nos próprios programas que já existem (o BLAST do NCBI é muito bom), pois seu usuário provavelmente já está habituado com o padrão de exibição deles.
Espero ter ajudado. Boa sorte!
|
|
|
 |
|
|