- Compter le nombre de séquences dans un fichier fasta
- Fusionner deux lignes d'un fichier texte
- Supprimer des lignes vides d'un fichier
- Convertir des fichiers (textes) windows au format linux-windows-au-format-linux)
- Supprimer une séquence d’un fichier Fasta (à l’aide d’awk))
- Remplacement dans les lignes des fichiers
- Supprimer certaines lignes d’un fichier
- Imprimer certaines lignes d’un fichier
- Afficher la taille de chaque séquence d’un fichier Fasta
Compter le nombre de séquences dans un fichier fasta
cat fichier.fasta | grep '>' | wc -l
ou plus simplement :
grep -c '^>' fichier.fasta
Fusionner deux lignes d'un fichier texte
Exemple avec sed :
sed '$!N;s/\n/\t/' fichier.txt
Exemple avec awk :
awk '{
if (NR % 2)
printf("%s", $0)
else
printf("\t%s\n", $0)
}' fichier.txt
Supprimer des lignes vides d'un fichier
sed '/^$/d' monfichier.txt
Convertir des fichiers (textes) windows au format linux
Dans un terminal, utiliser la commande
sed -i ‘s/^M$//’ monfichier
où ^M s’obtient en faisant CTRL+V CTRL+M
Supprimer une séquence d’un fichier Fasta (à l’aide d’awk)
Supprimer une séquence en donnant son nom (sans le signe >)
seqname=bad_seq
awk ‘{
if ( $0 ~ /^>’$seqname’$/ ){
seq=1 ;
while( seq == 1 ){
getline;
pos = index($0,’>’);
if ( pos == 1 ){
seq=0;
print $0;
}
}
}
else print $0;
}
‘ test.fasta
Remplacement dans les lignes des fichiers
Changer le caractère des gaps de '-' à '*'
sed ‘s/-/*/g’ test.fasta
Faire le changement dans plusieurs fichiers d’un dossier :
find /dossier/contenant/fichiers -type f -exec sed -i ‘s/-/*/g’ {} \;
Changer les signes de début de séquence ‘>’ en ‘#’
sed ‘s/^>/#/’ test.fasta
Supprimer certaines lignes d’un fichier
Supprimer la ligne 3 d’un fichier
sed ‘3d’ test.fasta
Supprime entre le ligne 3 et 10 d’un fichier
sed ‘3,10d’ test.fasta
Supprime les noms des séquences d’un fichier fasta
sed ‘/^>/d’ test.fasta
Imprimer certaines lignes d’un fichier
Imprimer la ligne numéro 5
sed -n ‘5p’ test.fasta
Imprimer de la ligne numéro 5 à la ligne 10
sed -n ‘5,10p’ test.fasta
Imprimer juste les noms des séquences au format fasta
sed -n ‘/^>/p’ test.fasta
Imprimer juste les séquences sans les noms
sed -n ‘/^>/!p’ test.fasta
Imprimer les lignes avec 3 gaps ou plus
sed -n ‘/-\{3\}/p’ test.fasta
Afficher la taille de chaque séquence d’un fichier Fasta
while read ligne do
if `echo ${ligne} | grep ‘^>’ 1>/dev/null 2>&1` then
echo $ligne
else
echo $ligne | wc -m
fi
done < test.fasta