Lista de nomes parciais

1. Lista de nomes parciais

Carlos Roberto de Oliveira Junior
karlinhos987

(usa Debian)

Enviado em 26/06/2014 - 17:27h

Aea galera, preciso de um help de vc's

Dentro do diretorio abaixo

cd /work/projects/exercicios/carlos/outputFastQC

eu tenho os seguintes arquivos:
2963.R1_fastqc 2987.R2_fastqc 3002.R1_fastqc 3051.R2_fastqc 3078.R1_fastqc 3083.R2_fastqc 3094.R1_fastqc 3097.R2_fastqc 3118.R1_fastqc 3127.R2_fastqc 3141.R1_fastqc
2963.R2_fastqc 2995.R1_fastqc 3002.R2_fastqc 3056.R1_fastqc 3078.R2_fastqc 3087.R1_fastqc 3094.R2_fastqc 3115.R1_fastqc 3118.R2_fastqc 3132.R1_fastqc 3141.R2_fastqc
2987.R1_fastqc 2995.R2_fastqc 3051.R1_fastqc 3056.R2_fastqc 3083.R1_fastqc 3087.R2_fastqc 3097.R1_fastqc 3115.R2_fastqc 3127.R1_fastqc 3132.R2_fastqc

eu preciso de pegar o nome de cada um deles ate o _fastqc, pois eu preciso da parte inicial(exemplo: 3051.R1).
para isso eu fiz um for que ira listar os nomes, mas como eu faco ou que comando devo utilizar para pegar do nome somente aquilo que me interessa?


for lista in `ls [0-9]*`;do

cd /work/biotools/bwa

./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/$lista > /work/projects/exercicios/carlos/bwa/aln/$nomeParcial.sai

done


  


2. Re: Lista de nomes parciais

Paulo
paulo1205

(usa Ubuntu)

Enviado em 26/06/2014 - 18:05h

Se você tem o nome guardado na variável var, você consegue suprimir dela um sufixo usando a notação ${var%sufixo}.


3. Re: Lista de nomes parciais

Esli Silva
Eslih

(usa Debian)

Enviado em 26/06/2014 - 18:46h

Olá,
Já tentou com o sed? Você pode pedir para o sed listar os nomes removendo este sufixo (a partir do _), com o sed, dependendo do caso, nem do for você vai precisar.


4. Re: Lista de nomes parciais

Carlos Roberto de Oliveira Junior
karlinhos987

(usa Debian)

Enviado em 27/06/2014 - 16:27h

Eslih escreveu:

Olá,
Já tentou com o sed? Você pode pedir para o sed listar os nomes removendo este sufixo (a partir do _), com o sed, dependendo do caso, nem do for você vai precisar.



Eslih, eu fiz assim
cd /work/projects/exercicios/carlos/outputFastQC

for lista in `ls [0-9]*`;do

for listaNomesParciais in `ls [0-9]*`;do

$listaNomesParciais | sed 's/_fastqc//'
cd /work/biotools/bwa

./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/$lista > /work/projects/exercicios/carlos/bwa/aln/teste/$listaNomesParciais.sai

done
done

eu vou utilizar o nome 2 vezes, a primeira será o nome completo que está em $lista e depois eu vou utilizar somente uma determinada parte do nome que estará em $listaNomesParciais.sai.
Pelo o que eu entendi do que vc falou, eu preciso fazer isso:
$listaNomesParciais | sed 's/_fastqc//'

explicacao do porque eu fiz assim,
o primeiro for irá listar os nomes completos, mas eu preciso tanto do nome completo como de uma determinada parte, sendo assim eu fiz um segundo for para fazer a mesma listagem do primeiro, mas dentro dele eu coloquei o comando sed, onde ocorre a subtração da parte que eu nao desejo.
nao funcionou como esperado.


5. Re: Lista de nomes parciais

Carlos Roberto de Oliveira Junior
karlinhos987

(usa Debian)

Enviado em 27/06/2014 - 18:52h

paulo1205 escreveu:

Se você tem o nome guardado na variável var, você consegue suprimir dela um sufixo usando a notação ${var%sufixo}.




Fiz isso:
cd /work/projects/exercicios/carlos/outputFastQC

for lista in `ls`;do

#retirar a linha abaixo
#echo $lista >> $listaNomesParciais
echo ${listaNomesParciais%_fastqc} >> $listaNomesParciais2

cd /work/biotools/bwa

./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/$lista > /work/projects/exercicios/carlos/bwa/aln/test
e/$listaNomesParciais2.sai

done

nao funcionou...


6. Re: Lista de nomes parciais

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/06/2014 - 02:41h

karlinhos987 escreveu:

Fiz isso:
cd /work/projects/exercicios/carlos/outputFastQC

for lista in `ls`;do

#retirar a linha abaixo
#echo $lista >> $listaNomesParciais
echo ${listaNomesParciais%_fastqc} >> $listaNomesParciais2

cd /work/biotools/bwa

./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/$lista > /work/projects/exercicios/carlos/bwa/aln/test
e/$listaNomesParciais2.sai

done

nao funcionou...


Nem poderia. Você tem de aplicar minha sugestão a cada valor da variável variável lista (por exemplo: nome_curto=${lista%_fastqc}, ou então echo ${lista%_fastqc} >> $listaNomeParciais2).




7. Re: Lista de nomes parciais

Carlos Roberto de Oliveira Junior
karlinhos987

(usa Debian)

Enviado em 02/07/2014 - 18:40h

paulo1205 escreveu:

karlinhos987 escreveu:

Fiz isso:
cd /work/projects/exercicios/carlos/outputFastQC

for lista in `ls`;do

#retirar a linha abaixo
#echo $lista >> $listaNomesParciais
echo ${listaNomesParciais%_fastqc} >> $listaNomesParciais2

cd /work/biotools/bwa

./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/$lista > /work/projects/exercicios/carlos/bwa/aln/test
e/$listaNomesParciais2.sai

done

nao funcionou...


Nem poderia. Você tem de aplicar minha sugestão a cada valor da variável variável lista (por exemplo: nome_curto=${lista%_fastqc}, ou então echo ${lista%_fastqc} >> $listaNomeParciais2).





Eu fiz isso:

[[email protected] scripts]$ more runBWA.sh
cd /work/projects/exercicios/carlos/outputFastQC

for lista in `ls`;do

nomesParciais = ${lista%_fastqc}

cd /work/biotools/bwa

./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/$lista > /work/projects/exercicios/carlos/bwa/aln/test
e/$nomesParciais.sai

done

sendo que o resultado foi esse:
[[email protected] scripts]$ ./runBWA.sh
./runBWA.sh: line 5: nomesParciais: command not found
[bwa_aln] 17bp reads: max_diff = 2
[bwa_aln] 38bp reads: max_diff = 3
[bwa_aln] 64bp reads: max_diff = 4
[bwa_aln] 93bp reads: max_diff = 5
[bwa_aln] 124bp reads: max_diff = 6
[bwa_aln] 157bp reads: max_diff = 7
[bwa_aln] 190bp reads: max_diff = 8
[bwa_aln] 225bp reads: max_diff = 9
[gzread] Is a directory

dentro do diretorio /teste nao foi criado nd

Esse eh o comando que rodei um a um, mas eu qro automatizar o processo.
./bwa aln -t 1 -N /work/download/Homo_sapiens/UCSC/hg19/Sequence/BWAIndex/genome.fa /work/projects/exercicios/carlos/outputFastQC/3141.R2_fastqc > /work/projects/exercicios/carlos/bwa/aln/3141.R2.sai






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts