Thomas Denecker & Claire Toffano-Nioche
Session 2
25/01/2019
Novembre
Janvier
Février
Mars
Avril
Mai
Juin
Juillet
...
26
25
22
29
26
31
28
à définir
...
Facile à trouver
Les outils utilisés sont des références dans leur domaine
Accessible
Les codes, les slides, le docker sont en ligneÂ
Interopérable
Les différents outils communiqueront entre eux
Réutilisable / Reproductible
Le protocole est enregistré sous un fichier dont l'exécution rejoue l'ensemble de l'analyse à l'identique
Slack
CompBiol-I2BC chanel : fair_bioinfo
- thomas.denecker@gmail.com
- claire.toffano-nioche@u-psud.fr
Ceci n'est pas de la magie
Analyse d'expression différentielle de gènes à partir de données RNAseq
Etude du métabolisme du fer chez O. tauri
Organisme : Ostreococcus tauri
Â
Type de données : RNAseq single end
Â
Publication : 10.1186/s12864-016-2666-6
Répliques biologiques : 3
Conditions expérimentales différentes : 16
Etude de la différence +Fe / -Fe à 9h en lumière condition 1
Répliques biologiques : 3
Conditions expérimentales différentes : 16
Etude de la différence +Fe / -Fe à 9h en lumière condition 2
47 fichiers d'expériences
Rappel : Format texte permettant de stocker des séquences biologiques et les scores de qualité associés (à chaque base son score). Les séquences sont écrites au format fastq
Â
Exemple :
Â
@SRR3099585.1 HWI-ST365:427:H8K2HADXX:1:1101:1497:2215/1
CTCCCTTGACATCTCGATGTCCTTGGTGAGCTCGTCAACCGCGTCCGCACGATACATTTGGTATGTCTTGAATACCTTCGGGAATCGTTGACGATCTGGA
+
@@@DADDD8:CFH9E3:?AC?BF>AC<+C+<E?:8C?FEE0?D0@:'--;A?B;>>3(6;@B>5;5B@@A@:3>A#########################
@SRR3099585.2 HWI-ST365:427:H8K2HADXX:1:1101:1653:2087/1
GTCGACGAATATAAAGTTATTGGGAGAGACGCTGAAGGTCGCGTTGGAGATGGACTCAATTGCGCTTCGCGTTCGCCTCGTGGGTGTTCGCCCGGCTCAC
+
@CBFFFFFHHGHHJJJHHJJJJJJJJJIJJJJJJIJJJGHJJJJJJHHHHHFFFFFEEEEEEDDDDDDDDDDDDDDDDDDDDDDBDDDDDDDDDDDDDDD
@SRR3099585.3 HWI-ST365:427:H8K2HADXX:1:1101:1554:2142/1
CGACTCAATAACCTTGTCTTCGATCGGCGGCACGGAGCCAGTGATATCGCATTCGCCGGGGAACCACTCGAGCTCAGTCATCCGAGAGCGCAAGGGCGCT
Mise en place d'un workflow d'analyse
Le choix des outils utilisés et des paramètres associés dépendent de la technologie de séquençage, de l'organisme étudié et de la question scientifique posée
Quels sont les gènes dont l'expression (~ nombre de transcrits) est modifiée dans un environnement pauvre en fer?
FASTQ
FASTQ
Condition A
Condition B
ostta01g0XXX1
ostta01g0XXX4
ostta01g0XXX9
ostta01g0XX25
ostta01g0XX11
...
Liste de gènes candidats
SampleID | Iron | Light | Time | Condition |
---|---|---|---|---|
SRR3105699 | Depleted | Light | 9h | CondA |
SRR3105698 | Depleted | Light | 9h | CondA |
SRR3105697 | Depleted | Light | 9h | CondA |
SRR3099587 | Standard | Light | 9h | CondB |
SRR3099586 | Standard | Light | 9h | CondB |
SRR3099585 | Standard | Light | 9h | CondB |
conditions.txt
Reads (FASTQ)
Génome de référence
Annotations du génome
FASTQC
Bowtie2
SAMtools
IGV
DEseq2
HTSeq
Reads (FASTQ)
Génome de référence
Annotations du génome
FASTQC
Bowtie2
SAMtools
IGV
DEseq2
HTSeq
De nombreux fichiers engendrés !
OrganisationÂ
Organisation du dossier d'analyseÂ
Création d'un script qui va créer pour nous les dossiersÂ
Â
Utilisation d'un terminal et écriture d'un script bash (.sh)
Intérêt du script : dès qu'on change de données, il suffit de rejouer le script
(outils de traitement de texte)
1
2
Sur windows store, rechercher et télécharger ubuntu 18.04 LTS
Puis le lancer (installation en quelques minutes)
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: tdenecker
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
tdenecker@DESKTOP-B8ON598:~$
Etape 1 : Création d'un dossierÂ
Etape 2 : Création d'un répertoire Github et connexion à Git
Etape 3 : Ecrire le script
Création d'un dossier
Vérification de la présence du dossier Â
mkdir Fair_project
tdenecker@DESKTOP-B8ON598:~$ ls
Fair_project
Entrer dans le dossierÂ
tdenecker@DESKTOP-B8ON598:~$ cd Fair_project/
tdenecker@DESKTOP-B8ON598:~/Fair_project$
echo "# Fair_project" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/thomasdenecker/Fair_project.git
git push -u origin master
Connexion à Github
nano FAIR_script.sh
1. Ouverture d'un éditeur de texte ou avec nano
Â
Â
2. Ecriture du script
Â
Comment créer un dossier en ligne de commande?
nano FAIR_script.sh
1. Ouverture d'un éditeur de texte ou avec nano
Â
2. Ecriture du script
Â
Â
Â
Â
Â
3. Lancer le script
Â
Â
tdenecker@DESKTOP-B8ON598:~/Fair_project$ cat Fair_script.sh
mkdir Project
mkdir Project/samples
mkdir Project/annotations
mkdir Project/bowtie2
mkdir Project/fastqc
mkdir Project/genome
mkdir Project/graphics
mkdir Project/htseq
mkdir Project/reference
mkdir Project/samtools
./Fair_script.sh
Installation du package tree
sudo apt-get update
sudo apt-get install tree
Utilisation du package tree
tdenecker@DESKTOP-B8ON598:~/Fair_project$ tree Project/
Project/
├── annotations
├── bowtie2
├── fastqc
├── genome
├── graphics
├── htseq
├── reference
├── samples
└── samtools
9 directories, 0 files
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git status
On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
Fair_script.sh
nothing added to commit but untracked files present (use "git add" to track)
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git add .
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git commit -m "Init Fair_script.sh - architecture"
[master 2d2e31b] Init Fair_script.sh - architecture
1 file changed, 11 insertions(+)
create mode 100644 Fair_script.sh
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git push origin master
Username for 'https://github.com': thomasdenecker
Password for 'https://thomasdenecker@github.com':
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 392 bytes | 130.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/thomasdenecker/Fair_project.git
61310c5..2d2e31b master -> master
Téléchargement des fichiers
1. fastq-dump (NCBI) : méthode décrite sur le site SRA
Très fiable
Très lentÂ
Fichier FASTQ
2. wget (EBI) : méthode proposée par l'EBI
FASTQ.gz
Fiable
Vitesse moyenne
Préparation
3. ascp (EBI) : méthode proposée par l'EBI
FASTQ.gz
Express !
Manque de fiabilité en wifi
Préparation
Sur le site SRA, trouver une des expériences
CLICK
Récupérer les SRR (fastq-dump, NCBI) ou le PRJNA (EBI)
ID pour le fasq-dump sur le NCBI
Rechercher cet ID sur l'EBI
wget --quiet "https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.2/sratoolkit.2.9.2-ubuntu64.tar.gz"
tar -xzf sratoolkit.2.9.2-ubuntu64.tar.gz
rm sratoolkit.2.9.2-ubuntu64.tar.gz
PATH /home/sratoolkit.2.9.2-ubuntu64/bin:$PATH
Installation
fastq-dump SRR3105699
Utilisation
Approche non utilisée par la suite
Pas d'installation pour wget (de base)
wget ADRESSE
Utilisation
Mais quelle adresse ?
En utilisant l'ID pour l'EBI : ici PRJNA304086
ClickÂ
Select column
Télécharger
study_accession experiment_accession run_accession fastq_md5 fastq_ftp
PRJNA304086 SRX1452060 SRR2960338 e854e5445d32bfc64464c03584500f5b ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/008/SRR2960338/SRR2960338.fastq.gz
PRJNA304086 SRX1452063 SRR2960341 d60f71f8b001c85de09a73170d0b3335 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/001/SRR2960341/SRR2960341.fastq.gz
PRJNA304086 SRX1452064 SRR2960343 057bcfd55bdcccab35ba834b08ee84b9 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/003/SRR2960343/SRR2960343.fastq.gz
PRJNA304086 SRX1452071 SRR2960356 9107eb12bd547a0c06a4129427266cf2 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/006/SRR2960356/SRR2960356.fastq.gz
PRJNA304086 SRX1452072 SRR2960357 db5c44d73023adba175b3b36d628299c ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/007/SRR2960357/SRR2960357.fastq.gz
PRJNA304086 SRX1452073 SRR2960358 97222fb332bf28f0cfe038e241d51508 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/008/SRR2960358/SRR2960358.fastq.gz
PRJNA304086 SRX1452825 SRR2961630 2c7d97815a5b4a03005ff5fd35c71e46 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/000/SRR2961630/SRR2961630.fastq.gz
PRJNA304086 SRX1452828 SRR2961631 b6ff7062e7057f99ecd94645d6715f3b ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/001/SRR2961631/SRR2961631.fastq.gz
PRJNA304086 SRX1452829 SRR2961633 4d7b9451064114c5d7ca0b3a59056b97 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/003/SRR2961633/SRR2961633.fastq.gz
PRJNA304086 SRX1452861 SRR2961666 22d6fdb7253ee11413a99f22212c8807 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/006/SRR2961666/SRR2961666.fastq.gz
PRJNA304086 SRX1452862 SRR2961667 b204cdd9cbd8aaf4ae627389b22f31d4 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/007/SRR2961667/SRR2961667.fastq.gz
PRJNA304086 SRX1452863 SRR2961668 2e243a53705aeebdfdf1c6cc9d6111ea ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/008/SRR2961668/SRR2961668.fastq.gz
PRJNA304086 SRX1453625 SRR2962703 f9b516e5bdb9f4170f87bfcedaba94b1 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/003/SRR2962703/SRR2962703.fastq.gz
PRJNA304086 SRX1453626 SRR2962704 369f37a4e923250d4aa4d858f0447627 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/004/SRR2962704/SRR2962704.fastq.gz
PRJNA304086 SRX1453627 SRR2962705 025153cd56b3f454098a977334a25aed ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/005/SRR2962705/SRR2962705.fastq.gz
PRJNA304086 SRX1456515 SRR2967072 1a4b75baeb33bf239233b1d17e4de01a ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/002/SRR2967072/SRR2967072.fastq.gz
PRJNA304086 SRX1456516 SRR2967073 e38333c18b536bd1b113bb542e8755e2 ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/003/SRR2967073/SRR2967073.fastq.gz
PRJNA304086 SRX1456517 SRR2967074 dc7d01a5a2565d5605c557558eede9cb ftp.sra.ebi.ac.uk/vol1/fastq/SRR296/004/SRR2967074/SRR2967074.fastq.gz
PRJNA304086 SRX1459990 SRR2970594 929c9ebfca1e391fe3ae1a581d80daa1 ftp.sra.ebi.ac.uk/vol1/fastq/SRR297/004/SRR2970594/SRR2970594.fastq.gz
PRJNA304086 SRX1459991 SRR2970597 338d0120e9058b6f569ea748e6416917 ftp.sra.ebi.ac.uk/vol1/fastq/SRR297/007/SRR2970597/SRR2970597.fastq.gz
PRJNA304086 SRX1459992 SRR2970598 21590eb0c98c5d62ea084fbabd301c61 ftp.sra.ebi.ac.uk/vol1/fastq/SRR297/008/SRR2970598/SRR2970598.fastq.gz
PRJNA304086 SRX1460213 SRR2970811 727105f42559583d80a134d7f176c3e2 ftp.sra.ebi.ac.uk/vol1/fastq/SRR297/001/SRR2970811/SRR2970811.fastq.gz
PRJNA304086 SRX1460214 SRR2970812 f8ad982ed839353b24f0d87045f3cf48 ftp.sra.ebi.ac.uk/vol1/fastq/SRR297/002/SRR2970812/SRR2970812.fastq.gz
PRJNA304086 SRX1477552 SRR2989038 a1b9d8eb39797e3ed7852fe84d9d27a3 ftp.sra.ebi.ac.uk/vol1/fastq/SRR298/008/SRR2989038/SRR2989038.fastq.gz
PRJNA304086 SRX1477554 SRR2989041 1402b158a43de2cd4766f719688b11aa ftp.sra.ebi.ac.uk/vol1/fastq/SRR298/001/SRR2989041/SRR2989041.fastq.gz
PRJNA304086 SRX1477556 SRR2989043 dd27a1818185454a5ad84bb7c193764f ftp.sra.ebi.ac.uk/vol1/fastq/SRR298/003/SRR2989043/SRR2989043.fastq.gz
PRJNA304086 SRX1529449 SRR3099585 87cf18f083c9954ec16070c306a4a3f0 ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/005/SRR3099585/SRR3099585.fastq.gz
PRJNA304086 SRX1529450 SRR3099586 3f20b8a3d7d37d85d1d6a1b1b8ffd97b ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/006/SRR3099586/SRR3099586.fastq.gz
PRJNA304086 SRX1529451 SRR3099587 a2ad18cc00016e22f262e4071a03f874 ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/007/SRR3099587/SRR3099587.fastq.gz
PRJNA304086 SRX1530331 SRR3101073 cc2673641d3822b6c7e86eb25402257c ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/003/SRR3101073/SRR3101073.fastq.gz
PRJNA304086 SRX1530332 SRR3101074 df546ffc5ef06f8a179af98e8a74a71d ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/004/SRR3101074/SRR3101074.fastq.gz
PRJNA304086 SRX1530333 SRR3101075 730ffe31b15b3ade59a0dbe22495a6ba ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/005/SRR3101075/SRR3101075.fastq.gz
PRJNA304086 SRX1531908 SRR3103205 ce098794833978225409da09bbad65ba ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/005/SRR3103205/SRR3103205.fastq.gz
PRJNA304086 SRX1531909 SRR3103206 c95444f015fec9be0e70060a3c014485 ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/006/SRR3103206/SRR3103206.fastq.gz
PRJNA304086 SRX1531910 SRR3103207 b732b6f0834425dc7a57ad2660b57a9e ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/007/SRR3103207/SRR3103207.fastq.gz
PRJNA304086 SRX1533779 SRR3105362 26cda8d7a82a3eb05e20a5476fc7431b ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/002/SRR3105362/SRR3105362.fastq.gz
PRJNA304086 SRX1533780 SRR3105363 298c560c0733e74945448b9a3f7f1395 ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/003/SRR3105363/SRR3105363.fastq.gz
PRJNA304086 SRX1533782 SRR3105364 08cc2bc3466deee0b46eba61869b63f1 ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/004/SRR3105364/SRR3105364.fastq.gz
PRJNA304086 SRX1534049 SRR3105697 48bd094825243d03bd59e2801ccf9931 ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/007/SRR3105697/SRR3105697.fastq.gz
PRJNA304086 SRX1534051 SRR3105698 0102f812c71517b8e550702f320ac607 ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/008/SRR3105698/SRR3105698.fastq.gz
PRJNA304086 SRX1534052 SRR3105699 e7a74957778b75ac332b67a87da495ea ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/009/SRR3105699/SRR3105699.fastq.gz
PRJNA304086 SRX1540739 SRR3112575 80de77bf3e636f44cb291abbd881ce7d ftp.sra.ebi.ac.uk/vol1/fastq/SRR311/005/SRR3112575/SRR3112575.fastq.gz
PRJNA304086 SRX1540740 SRR3112576 19055c215668a6c4fc1c57c4b598f064 ftp.sra.ebi.ac.uk/vol1/fastq/SRR311/006/SRR3112576/SRR3112576.fastq.gz
PRJNA304086 SRX1540742 SRR3112577 91cd781fec3647499026d30ee8d2fdbf ftp.sra.ebi.ac.uk/vol1/fastq/SRR311/007/SRR3112577/SRR3112577.fastq.gz
PRJNA304086 SRX1540743 SRR3112578 7ff7bdf92b6ca204d98ed911179edce8 ftp.sra.ebi.ac.uk/vol1/fastq/SRR311/008/SRR3112578/SRR3112578.fastq.gz
PRJNA304086 SRX1540744 SRR3112579 1cac0a93a87f66db4ba876d24d66b26c ftp.sra.ebi.ac.uk/vol1/fastq/SRR311/009/SRR3112579/SRR3112579.fastq.gz
PRJNA304086 SRX1540741 SRR3112580 dbc540c1b2af452740eec4d8816e409e ftp.sra.ebi.ac.uk/vol1/fastq/SRR311/000/SRR3112580/SRR3112580.fastq.gz
Important pour la suite
Etude de l'empreinte digitale d'un fichier numériqueÂ
Plusieurs algorithmes :Â
- MD5 (Message Digest 5)
- 32 caractères SHA1 (Secure Hash Algorithm)
- 40 caractères SHA256 - 64 caractères
Lors d'un téléchargement, le fichier peut être altéré et donc son empreinte change
Simple non?
> CAGL0I06743g
ATGCCTAACAAAGTATTTAACGTGGCAGTCTTCTTTGTCGTGTTCAGAGAATGTTTGGAA
GCTGTTGTTATCGTTTCCATTCTATTGTCTTTCCTGAAGCAAGCAATTGGTTCCAAAGAT
ATTAAATTATATCGCAAATTGCGTAAGCATGTTTGGATTGGTGTCGCACTCGGGTTCTTT
ATCTGTTTAGTGATTGGTGCTGGTTTCATTGGTGCCTACTACTCTTTACAGAAAGATATC
TTTGGTTCTACAGAAGATTTATGGGAAGGTATTTTCTGTATGATTGCTACTACTATGATC
AGTATGATGGGTATTCCAATGTTGCGTATTAACAAGTTGCAAAGTAAATGGCGTGTGAAG
CTTGCTCGTTCACTTGTTGATATTCCAAAGAGAAAGCGTGATTACTTCAGGATTGGTTAT
TTGACTAGACGTTATGCGATGTTCATCTTACCTTTCATCACTGTTTTAAGAGAAGGTTTG
GAAGCTGTCGTTTTTGTCGCTGGTGCCGGTATTACCACGAAGGGTTCTCACGCATCCGCT
TATCCTTTACCAGTCGTTGTTGGTCTAATTGCTGGTTTTATAGTTGGATTCCTATTATAT
TACGGTACTTCAAAGTCTTCCATGCAAATCTTTTTAGTTATTTCTACCTCCATTCTTTAC
TTAATTGCAGCCGGTTTGTTCTCAAGAGGTGCTTGGTACTTCGAAAACTACAGATTCAAC
AAGGCAACGGGTGGTGATGCTTCTGAAGGTGGTGACGGTAATGGTTCCTATAATATCGCT
AAATCAGTTTACCATGTTAACTGTTGTAATCCTGAACTGGACAACGGTTGGGATATTTTC
AACGCTTTGTTGGGATGGCAAAATACTGGTTATCTGTCCAGTATTCTTTGTTACAATATT
TACTGGGTTGTTCTAATTATTGTCTTAGGTTTGATGATGCACGAAGAAAGATATGGCCAC
TTACCATTTATGAGAAACGTTGGTATGAGACACTTAAACCCAGGTTATTGGATAAAGAAC
AAGAAGAAGGACGAATTGACTGATGAACAAAAGGCTGAGCTGCTAAACCGTATGGACAAC
ATTCAATTCAATGAAGAAGGTGATATTGTCGCTCATGCTAACGAAGAAGAACACGACCAG
GAGAGTTCTTTGTTGAGAGGCAACTCTAACAAGATGGGATCCAAGGAAGAATTGAACTTC
AAGGTTACCACTACCAGTTCCGACTAA
> CAGL0I06743g
ATGCCTAACAAAGTATTTAACGTGGCAGTCTTCTTTGTCGTGTTCAGAGAATGTTTGGAA
GCTGTTGTTATCGTTTCCATTCTATTGTCTTTCCTGAAGCAAGCAATTGGTTCCAAAGAT
ATTAAATTATATCGCAAATTGCGTAAGCATGTTTGGATTGGTGTCGCACTCGGGTTCTTT
ATCTGTTTAGTGATTGGTGCTGGTTTCATTGGTGCCTACTACTCTTTACAGAAAGATATC
TTTGGTTCTACAGAAGATTTATGGGAAGGTATTTTCTGTATGATTGCTACTACTATGATC
AGTATGATGGGTATTCCAATGTTGCGTATTAACAAGTTGCAAAGTAAATGGCGTGTGAAG
CTTGCTCGTTCACTTGTTGATATTCCAAAGAGAAAGCGTGATTACTTCAGGATTGGTTAT
TTGACTAGACGTTATGCGATGTTCATCTTACCTTTCATCACTGTTTTAAGAGAAGGTTTG
GAAGCTGTCGTTTTTGTCGCTGGTGCCGGTATTACCACGAAGGGTTCTCACGCATCCGCT
TATCCTTTACCAGTCGTTGTTGGTCTAATTGCTGGTTTTATAGTTGGATTCCTATTATAT
TACGGTACTTCAAAGTCTTCCATGCAAATCTTTTTAGTTATTTCTACCTCCATTCTTTAC
TTAATTGCAGCCGGTTTGTTCTCAAGAGGTGATTGGTACTTCGAAAACTACAGATTCAAC
AAGGCAACGGGTGGTGATGCTTCTGAAGGTGGTGACGGTAATGGTTCCTATAATATCGCT
AAATCAGTTTACCATGTTAACTGTTGTAATCCTGAACTGGACAACGGTTGGGATATTTTC
AACGCTTTGTTGGGATGGCAAAATACTGGTTATCTGTCCAGTATTCTTTGTTACAATATT
TACTGGGTTGTTCTAATTATTGTCTTAGGTTTGATGATGCACGAAGAAAGATATGGCCAC
TTACCATTTATGAGAAACGTTGGTATGAGACACTTAAACCCAGGTTATTGGATAAAGAAC
AAGAAGAAGGACGAATTGACTGATGAACAAAAGGCTGAGCTGCTAAACCGTATGGACAAC
ATTCAATTCAATGAAGAAGGTGATATTGTCGCTCATGCTAACGAAGAAGAACACGACCAG
GAGAGTTCTTTGTTGAGAGGCAACTCTAACAAGATGGGATCCAAGGAAGAATTGAACTTC
AAGGTTACCACTACCAGTTCCGACTAA
Et là ?
Le programme md5sum permet de calculer l'emprunte d'un fichier.
Bonne pratique de contrôler !
Â
tdenecker@DESKTOP-B8ON598:~/Fair_project$ cat conditions.txt
SampleID Iron Light Time Condition_Name wget MD5
SRR3105699 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/009/SRR3105699/SRR3105699.fastq.gz e7a74957778b75ac332b67a87da495ea
SRR3105698 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/008/SRR3105698/SRR3105698.fastq.gz 0102f812c71517b8e550702f320ac607
SRR3105697 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/007/SRR3105697/SRR3105697.fastq.gz 48bd094825243d03bd59e2801ccf9931
SRR3099587 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/007/SRR3099587/SRR3099587.fastq.gz a2ad18cc00016e22f262e4071a03f874
SRR3099586 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/006/SRR3099586/SRR3099586.fastq.gz 3f20b8a3d7d37d85d1d6a1b1b8ffd97b
SRR3099585 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/005/SRR3099585/SRR3099585.fastq.gz 87cf18f083c9954ec16070c306a4a3f0
tdenecker@DESKTOP-B8ON598:~/Fair_project$ md5sum conditions.txt
6b61f0cae78171f3837b69446b41e5aa conditions.txt
tdenecker@DESKTOP-B8ON598:~/Fair_project$ cat conditions.txt
SampleID Iron Light Time Condition_Name wget MD5
SRR3105699 DEPLETED LIGHT 9H CondC ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/009/SRR3105699/SRR3105699.fastq.gz e7a74957778b75ac332b67a87da495ea
SRR3105698 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/008/SRR3105698/SRR3105698.fastq.gz 0102f812c71517b8e550702f320ac607
SRR3105697 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/007/SRR3105697/SRR3105697.fastq.gz 48bd094825243d03bd59e2801ccf9931
SRR3099587 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/007/SRR3099587/SRR3099587.fastq.gz a2ad18cc00016e22f262e4071a03f874
SRR3099586 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/006/SRR3099586/SRR3099586.fastq.gz 3f20b8a3d7d37d85d1d6a1b1b8ffd97b
SRR3099585 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/005/SRR3099585/SRR3099585.fastq.gz 87cf18f083c9954ec16070c306a4a3f0
tdenecker@DESKTOP-B8ON598:~/Fair_project$ md5sum conditions.txt
3302fdec76f8a7db3b08abefee7727b6 conditions.txt
md5 différents !
Préparation du design file
Fichier indispensable pour l'analyse différentielle et utile pour le worflowÂ
Â
Le seul fichier fait à la main
Â
Informations obligatoires :
- Un nom unique (pour ne pas mélanger les données)
- Un moyen de distinguer les deux conditions
Â
En plus dans notre fichier :
- adresse pour le wget (pour automatiser le téléchargement)
- informations pour faire la différence avec les autres expériences
Avec Excel (exception)
Sauvegarder sous le nom : conditions.txt dans le dossier principal
Évidemment possible en éditeur de texte ! (avec des tabulations pour séparer les colonnes)
Texte (séparateur : tabulation) : conditions.txt
Texte (séparateur : tabulation) : conditions.txt
tdenecker@DESKTOP-B8ON598:~/Fair_project$ cat conditions.txt
Light Time Condition_Name wget
SRR3105699 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/009/SRR3105699/SRR3105699.fastq.gz
SRR3105698 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/008/SRR3105698/SRR3105698.fastq.gz
SRR3105697 DEPLETED LIGHT 9H CondA ftp.sra.ebi.ac.uk/vol1/fastq/SRR310/007/SRR3105697/SRR3105697.fastq.gz
SRR3099587 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/007/SRR3099587/SRR3099587.fastq.gz
SRR3099586 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/006/SRR3099586/SRR3099586.fastq.gz
SRR3099585 STANDARD LIGHT 9H CondB ftp.sra.ebi.ac.uk/vol1/fastq/SRR309/005/SRR3099585/SRR3099585.fastq.gz
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git add conditions.txt
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git commit -m "Design file"
[master 3533518] Design file
1 file changed, 8 insertions(+)
create mode 100644 conditions.txt
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git push origin master
Username for 'https://github.com': thomasdenecker
Password for 'https://thomasdenecker@github.com':
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 538 bytes | 179.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/thomasdenecker/Fair_project.git
2d2e31b..3533518 master -> master
Automatisation du téléchargement
Objectifs
echo "=============================================================="
echo "Download data from SRA"
echo "=============================================================="
1- Afficher l'étape dans le script
cd Project/samples
2- Se déplacer dans le dossier où seront les fasq.gz
3- Création de la boucle : lecture du fichier conditions.txt ligne par ligne
IFS=$'\n' # make newlines the only separator
for j in $(tail -n +2 ../../conditions.txt)
do
done
for j in $(tail -n +2 ../../conditions.txt)
do
access=$( echo "$j" | cut -f6 )
id=$( echo "$j" | cut -f1 )
md5=$( echo "$j" | cut -f7 )
done
4- Récupération de l'adresse, de l'id et du md5
5- Ajout du status
IFS=$'\n' # make newlines the only separator
for j in $(tail -n +2 ../../conditions.txt)
do
access=$( echo "$j" | cut -f6 )
id=$( echo "$j" | cut -f1 )
md5=$( echo "$j" | cut -f7 )
echo "--------------------------------------------------------------"
echo ${id}
echo "--------------------------------------------------------------"
done
6- Téléchargement des fastq.gz
echo "=============================================================="
echo "Download data from SRA"
echo "=============================================================="
cd Project/samples
IFS=$'\n' # make newlines the only separator
for j in $(tail -n +2 ../../conditions.txt)
do
access=$( echo "$j" | cut -f6 )
id=$( echo "$j" | cut -f1 )
md5=$( echo "$j" | cut -f7 )
echo "--------------------------------------------------------------"
echo ${id}
echo "--------------------------------------------------------------"
wget ${access} # wget method
done
cd ../..
7- Calcul du md5sum du fichier téléchargé
IFS=$'\n' # make newlines the only separator
for j in $(tail -n +2 ../../conditions.txt)
do
access=$( echo "$j" | cut -f6 )
id=$( echo "$j" | cut -f1 )
md5=$( echo "$j" | cut -f7 )
echo "--------------------------------------------------------------"
echo ${id}
echo "--------------------------------------------------------------"
wget ${access} # wget method
md5_local="$(md5sum $id.fastq.gz | cut -d' ' -f1)"
echo $md5_local
done
8- Confirmation que le téléchargement est correct
IFS=$'\n' # make newlines the only separator
for j in $(tail -n +2 ../../conditions.txt)
do
access=$( echo "$j" | cut -f6 )
id=$( echo "$j" | cut -f1 )
md5=$( echo "$j" | cut -f7 )
echo "--------------------------------------------------------------"
echo ${id}
echo "--------------------------------------------------------------"
wget ${access} # wget method
md5_local="$(md5sum $id.fastq.gz | cut -d' ' -f1)"
echo $md5_local
if [ "$md5_local" == "$md5" ]
then
echo "MD5SUM : Ok"
else
echo "MD5SUM : error"
exit 1
fi
done
9- Retour au dossier source
cd ../..
##------------------------------------------------------------------------------
## FAIR script
## Author: T. Denecker & C. Toffano-Nioche
## Affiliation: I2BC
## Aim: A workflow to process RNA-Seq.
## Organism: O. tauri
## Date: Jan 2019
## Step :
## 1- Create tree structure
## 2- Download data from SRA
##------------------------------------------------------------------------------
echo "=============================================================="
echo "Creation of tree structure"
echo "=============================================================="
mkdir Project
mkdir Project/samples
mkdir Project/annotations
mkdir Project/bowtie2
mkdir Project/fastqc
mkdir Project/genome
mkdir Project/graphics
mkdir Project/htseq
mkdir Project/reference
mkdir Project/samtools
echo "=============================================================="
echo "Download data from SRA"
echo "=============================================================="
cd Project/samples
IFS=$'\n' # make newlines the only separator
for j in $(tail -n +2 ../../conditions.txt)
do
# Get important information from the line
access=$( echo "$j" | cut -f6 )
id=$( echo "$j" | cut -f1 )
md5=$( echo "$j" | cut -f7 )
echo "--------------------------------------------------------------"
echo ${id}
echo "--------------------------------------------------------------"
# Download file
wget ${access} # wget method
# Get md5 of downloaded file
md5_local="$(md5sum $id.fastq.gz | cut -d' ' -f1)"
echo $md5_local
# Test md5
if [ "$md5_local" == "$md5" ]
then
echo "Done"
else
echo "Nope"
exit 1
fi
done
cd ../..
tdenecker@DESKTOP-B8ON598:~/Fair_project$ nano .gitignore
tdenecker@DESKTOP-B8ON598:~/Fair_project$ cat .gitignore
Project/
On ne souhaite pas que les données du projet se retrouvent sur github
- Trop lourd
- Les données peuvent être privées
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git add .
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git commit -m "add download part"
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git push origin master
tdenecker@DESKTOP-B8ON598:~/Fair_project$ git status
Github
Lancer
Vérifier que le .gitignore fonctionne
tdenecker@DESKTOP-B8ON598:~/Fair_project$ bash Fair_script.sh
tdenecker@DESKTOP-B8ON598:~/Fair_project$ tree Project/
Project/
├── annotations
├── bowtie2
├── fastqc
├── genome
├── graphics
├── htseq
├── reference
├── samples
│  ├── SRR3099585.fastq.gz
│  ├── SRR3099586.fastq.gz
│  ├── SRR3099587.fastq.gz
│  ├── SRR3105697.fastq.gz
│  ├── SRR3105698.fastq.gz
│  └── SRR3105699.fastq.gz
└── samtools
9 directories, 6 files
Â
Création d'un script qui permet :
- Création d'une architecture de dossier
- Téléchargement et contrôle des données nécessaires pour l'analyse différentielle
Â
Savoir FAIRe
- Utiliser un terminal
- Un script bash
- Utiliser git et github dans le cadre d'un projet
Â
Reproduire la session 2 (si pas fait lors de la session) :
Bon courage !
RDV sur Slack en cas de problème
Cette session a été élaborée à partir de cours de :Â
- Pierre Poulain
- Gaëlle Lelandais