Table of Contents
VBM para FACEHBI segun las variables de lenguaje
Problema, hay un monton de NA. Hay un metodo para esto (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=FSL;c09816a6.1001) pero me voy a equivocar seguro si pongo una columna por cada missing.
FE_anflu: N = 198 FE_Pflu: N = 198 Fluidesa_Verbal_Accio: N = 198 Action_Namimg_Libre: N = 187 Boston_Libre: N = 190 Piramides_Y_Palmeras_Palab: N= 184 Piramides_Y_Plameras_Imag: N= 184 Kissing_Dancing_Imagenes: N = 110 Kissing_Dancing_Palabras: N = 95
Esto va a ser un carnaval pero vo a tener que hacer seis templates.
Primero que todo, el CSV original esta codificado en windows, asi que,
[osotolongo@detritus 198]$ mv ../model_vbm_revisado.csv ../model_vbm_revisado_original.csv [osotolongo@detritus 198]$ tr -d '\r' < ../model_vbm_revisado_original.csv > ../model_vbm_revisado.csv
Data
A ver ahora,
[osotolongo@detritus vbmlang]$ pwd /nas/data/facehbi/vbmlang [osotolongo@detritus vbmlang]$ mkdir 198 [osotolongo@detritus vbmlang]$ cd 198 [osotolongo@detritus 198]$ head -n 1 ../model_vbm_revisado.csv | sed 's/,/\n/g' | cat -n 1 Subject 2 PSubject 3 Interno 4 group 5 edat_v0 6 Anyos_Escolaridad_FAC_v0 7 Sex_1H_0M_v0 8 FE_anflu_NP 9 FE_Pflu_NP 10 Fluidesa_Verbal_Accio_NP 11 Action_Namimg_Libre_FAC 12 Boston_Libre_FAC 13 Piramides_Y_Palmeras_Palab_FAC 14 Piramides_Y_Plameras_Imag_FAC 15 Kissing_Dancing_Imagenes_FAC 16 Kissing_Dancing_Palabras_FAC
Lista de sujetos,
[osotolongo@detritus 198]$ awk -F"," '{if ($8!="NA") {printf "%04i\n", $1}}' ../model_vbm_revisado.csv | tail -n +2 > subjects.list
design.mat
[osotolongo@detritus 198]$ awk -F"," '{if ($8!="NA") {print $4" "$5" "$6" "$7" "$8}}' ../model_vbm_revisado.csv | tail -n +2 > vbm_data.dat [osotolongo@detritus 198]$ head vbm_data.dat 1 71 8 0 17 1 70 12 1 25 1 70 8 0 17 1 76 16 0 15 1 68 20 1 26 1 64 14 0 20 1 59 19 1 24 1 55 16 0 17 1 67 16 0 28 1 68 20 1 26 [osotolongo@detritus 198]$ Text2Vest vbm_data.dat design.mat [osotolongo@detritus 198]$ head design.mat /NumWaves 5 /NumPoints 198 /Matrix 1 71 8 0 17 1 70 12 1 25 1 70 8 0 17 1 76 16 0 15 1 68 20 1 26 1 64 14 0 20 1 59 19 1 24
design.con
[osotolongo@detritus 198]$ cat contras_model.txt 0 0 0 0 1 0 0 0 0 -1 [osotolongo@detritus 198]$ Text2Vest contras_model.txt design.con [osotolongo@detritus 198]$ cat design.con /NumWaves 5 /NumPoints 2 /Matrix 0 0 0 0 1 0 0 0 0 -1
BET
[osotolongo@detritus 198]$ mkdir struc [osotolongo@detritus 198]$ for x in `cat subjects.list`; do get_fsbrain.sh facehbi ${x} struc; done [osotolongo@detritus 198]$ cd struc/ [osotolongo@detritus struc]$ for x in `cat ../subjects.list`; do a="$a ${x}_struc ${x}_struc_brain"; done [osotolongo@detritus 198]$ slicesdir -o -e 0.1 $a
Preproc
[osotolongo@brick01 198]$ fslvbm_2_template -n
Resultados: Al revisar el template veo que el volumen 102 no se ha registrado correctamente. La opción correcta es eliminar este volumen del analisis. El volumen 102 corresponde a la linea 103 del archivo subjects.list y a la linea 106 del design.mat, es decir al sujeto 0107. Debo eliminar estas lineas y todos los archivos correspondientes al sujeto 0107 del directorio struc.
y de nuevo,
[osotolongo@brick01 198]$ fslvbm_2_template -n
Nota: del resto de plantillas tambien ha de eliminarse este sujeto ya que el procedimiento de registro de GM es independiente.
Nota 2: El archivo design.mat ha de corregirse y editar el valor de /NumPoints para que cuadre con el nuevo numero de sujetos. El valor correcto es ahora uno menos, 197.
y revisar el GM_merg.nii.gz
y sigue normalmente,
[osotolongo@brick01 198]$ fslvbm_3_proc
randomise
go ahead
[osotolongo@detritus 198]$ fslmaths stats/GM_merg.nii.gz -s 4.0 stats/GM_merg_s4.nii.gz [osotolongo@detritus 198]$ randomise -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v8 -d design.mat -t design.con -T -n 5000
Cambiando de variable
Nota: Editar el archivo ../model_vbm_revisado.csv y borrar el sujeto que ha salido mal en el paso 2.
[osotolongo@detritus 198]$ awk -F"," '{if ($9!="NA") {print $4" "$5" "$6" "$7" "$9}}' ../model_vbm_revisado.csv | tail -n +2 > vbm_data.dat [osotolongo@detritus 198]$ Text2Vest vbm_data.dat design.mat [osotolongo@detritus 198]$ head design.mat /NumWaves 5 /NumPoints 197 /Matrix 1 71 8 0 22 1 70 12 1 23 1 70 8 0 14 1 76 16 0 18 1 68 20 1 22 1 64 14 0 24 1 59 19 1 24 [osotolongo@detritus 198]$ randomise -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v9 -d design.mat -t design.con -T -n 5000 randomise options: -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v9 -d design.mat -t design.con -T -n 5000 Loading Data: ...
Cada teplate va asociada a su grupode variables correspondientes,
[osotolongo@brick01 190]$ randomise -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v12 -d design.mat -t design.con -T -n 5000 randomise options: -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v12 -d design.mat -t design.con -T -n 5000 ...