Stockage fichiers#

Où stocker vos fichiers/dossiers ?#

Varie selon les plateformes. Se renseigner !

A l’IFB

❌ Votre “maison”: ~ (e.g. /shared/home/cnorris)

  • Ce dossier est très limité en stockage

  • Pour les fichiers et dossiers très peu volumineux

  • Pas pour faire des analyses

  • Utiliser la commande cd (sans argument) pour vous rendre dans ce dossier

  • Le chemin vers le dossier home est symbolisé par ~

  • Quota de 5Go

✅ Votre dossier projet (e.g /shared/projects/)

  • C’est le dossier dans lequel vous devez téléverser vos données*

  • C’est LE dossier pour lancer vos analyses …

* Vous pouvez aussi dire ‘uploader’ :)

Créer des répertoires#

On utilisera la commande mkdir (make directory).

Rendez vous d’abord dans votre espace projet. cd /shared/projects/<project>

Dans la commande ci-dessus, remplacez <project> par le nom de votre espace projet

Dans le cadre de notre livre, et uniquement pour le livre, correspondra à 2325_ebaii/coursLinux/demo

# attention de ne pas utiliser la fin de chemin `2325_ebaii/coursLinux/demo` mais bien le nom de votre projet
cd /shared/projects/2325_ebaii/coursLinux/demo

# On crée le dossier chip-seq
mkdir chip-seq
mkdir: cannot create directory ‘chip-seq’: File exists
?2004h

# malheureusement il y a une erreur, vous vouliez écrire rna-seq
# on va donc supprimer le dossier vide et en re-créer un avec le bon nom
rmdir chip-seq
mkdir rna-seq
# Vérifiez que le nouveau dossier apparaisse
# Deplacez vous dans le dossier que vous venez de creer
# Equivalent de cd ./rna-seq
# L'utilisation de ./ est souvent facultative.
cd rna-seq
# Verifiez que vous avez bien créé le dossier
ls -l
total 0
# On crée deux dossiers d'un coup
mkdir ref fastq
# On a bien deux dossiers
ls -l
total 8
drwxrwx---+ 2 pfrancois pfrancois 4096 Nov  4 13:03 fastq
drwxrwx---+ 2 pfrancois pfrancois 4096 Nov  4 13:03 ref
# On se déplace dans fastq
cd fastq
# On remonte de deux niveaux
cd ../..
# On créé un chemin vers un dossier ‘bam’
# L'option -p permet de créer tous les dossiers intermédiaires manquants.
mkdir -p rna-seq/output/bam
# On liste Récursivement les dossiers
ls -R
.:
rna-seq

./rna-seq:
fastq  output  ref

./rna-seq/fastq:

./rna-seq/output:
bam

./rna-seq/output/bam:

./rna-seq/ref:
# Le fichier d'index ne nous sera pas utile, supprimons le
rm chip-seq/output/hg38.fa.fai
tree # on vérifie que c'est fait
rm: cannot remove ‘chip-seq/output/hg38.fa.fai’: No such file or directory
.
└── rna-seq
    ├── fastq
    ├── output
    │   └── bam
    └── ref

5 directories, 0 files

Copier, couper et supprimer fichiers et dossiers#

WARNING : La ligne de commande est clémente mais bien moins protégée que Windows. Elle préviendra certaines bêtises mais pas toutes ! Les actions suivantes sont donc à réaliser avec précaution

  • cp : (= copier/coller Windows) Permet de copier un fichier, option -r permet de le faire pour un dossier et l’ensemble de son contenu (récursive)

    `cp chemin/pour/monfichier.txt chemin/de/destination` Il est possible de renommer le fichier au passage, il vous suffit de changer le nom de destination
    
# Copions le fichier /shared/bank/homo_sapiens/hg38/fasta/hg38.fa.fai dans le dossier ref/
cp /shared/bank/homo_sapiens/hg38/fasta/hg38.fa.fai rna-seq/ref
  • mv : (= couper/coller Windows mais aussi renommer) Permet de déplacer un fichier ou un dossier mais aussi de le renommer

     `mv chemin/fichier.txt chemin/fichier_renomme.txt # Pour renommer sans bouger`
    
     `mv chemin/fichier.txt chemin/d/arrivee` # Pour déplacer sans renommer 
    
# Déplaçons le fichier hg38.fa.fai dans le dossier rna-seq/output
mv rna-seq/ref/hg38.fa.fai rna-seq/output
tree # on vérifie que c'est fait
# Finalement, le dossier rna-seq devait bien s'appeler chip-seq ! Renommons le.
mv rna-seq/ chip-seq
.
└── rna-seq
    ├── fastq
    ├── output
    │   ├── bam
    │   └── hg38.fa.fai
    └── ref

5 directories, 1 file
  • rm : Permet de supprimer un fichier ou un dossier (-r) mais WARNING attention à son usage, si le fichier est important, on ne vous demandera pas si vous êtes VRAIMENT sûrs de vouloir le supprimer !

     `rm chemin/fichier.txt`
    
     `rm -r chemin/directory`
    
# Le fichier d'index ne nous sera pas utile, supprimons le
rm chip-seq/output/hg38.fa.fai
tree # on vérifie que c'est fait
.
└── chip-seq
    ├── fastq
    ├── output
    │   └── bam
    └── ref

5 directories, 0 files

Qui a le droit de quoi ?#

Parfois un message d’erreur peut apparaitre, annonçant que vous n’avez pas le droit de réaliser une action.

Ces droits sont régis par trois lettres r, w et x.

  • r : read, droit de lire le fichier et de l’ouvrir

  • w : write, droit d’écrire et modifier un fichier

  • x : execute, droit d’executer le fichier (un script par exemple) Lorsque vous faites un ls -l, vous pouvez noter que certaines lignes commencent par un d, signifiant dossier Notons également le fait que les rwx se répète, ou non, trois fois. Le premier triplet correspond au droit que possède le propriétaire du fichier, le second correspond aux droits alloués aux utilisateurs du même groupe que le propriétaire du fichier, le dernier correspond aux droits de tous les autres utilisateurs.

Exercices#

  1. Déplacez-vous dans votre dossier projet

  2. Créez un répertoire annotations dans votre dossier projet

  3. Déplacez-vous dans le dossier annotations

  4. Dans ce dossier créez un dossier hg38 ddddddddet son sous-dossier gff (hg38/gff)

  5. Déplacez-vs dans le répertoire 8/gff*

  6. Déplacez-vous dans annotations.

  7. Créez un sous-dossier mm10 et son sous-dossier gff (mm10/gff)

  8. Déplacez-vous dans mm10/gff

  9. Depuis ce dossier listez le contenu du dossier hg38

Solutions#

# remplacer <project> 
# cd /shared/projects/<project>/
cd /shared/projects/2325_ebaii/coursLinux/demo
# On crée le dossier
mkdir annotations
# On se déplace
cd annotations
# Où sommes nous ?
pwd
/shared/projects/2325_ebaii/coursLinux/demo/annotations
# On crée le dossier gff dans hg38
mkdir -p hg38/gff
# On se déplace
cd hg38/gff
# On se déplace dans annotations
cd ../..
# On crée le dossier gff dans mm10
mkdir -p mm10/gff
cd mm10/gff
# On voit un dossier gff
ls ../../hg38
gff