[GenABEL-dev] [Genabel-commits] r630 - pkg/ProbABEL/src
Yurii Aulchenko
yurii.aulchenko at gmail.com
Fri Jan 7 16:30:15 CET 2011
Great work, happy that things go on improving!
Did you update the "changes.log", or will we eventually generate that
based on commit-comments? (Some way to automate that???)
Btw my feeling is that few people use this pl except us -- do we
describe how to configure it in the manual? That may be the reason...
Yurii
On 1/7/11, noreply at r-forge.r-project.org <noreply at r-forge.r-project.org> wrote:
> Author: lckarssen
> Date: 2011-01-07 14:01:11 +0100 (Fri, 07 Jan 2011)
> New Revision: 630
>
> Modified:
> pkg/ProbABEL/src/probabel.pl
> Log:
> Updates to the probabel.pl script. Tested for some time on our own
> servers.
> Details:
> - Added possibility to use the script for the X chromosome as well
> - Clarified part of the help text and error messages
> - slightly simpler configuration because now the base path to each of
> the pa-utilities can be set in one variable.
> - Removed some superfluous spaces and empty lines
> - Fixed a few minor spelling errors in the comments and help text.
>
>
> Modified: pkg/ProbABEL/src/probabel.pl
> ===================================================================
> --- pkg/ProbABEL/src/probabel.pl 2011-01-05 17:31:39 UTC (rev 629)
> +++ pkg/ProbABEL/src/probabel.pl 2011-01-07 13:01:11 UTC (rev 630)
> @@ -1,27 +1,33 @@
> -#! /usr/bin/perl
> +#! /usr/bin/perl
>
> -#=====================================================================================
> +#============================================================================
> #
> # Filename: probabel.pl
> #
> -# Description: Handy perl wraper for ProbABEL functions
> +# Description: Handy perl wrapper for ProbABEL functions
> #
> -# Version: 1.1
> +# Version: 1.4
> # Created: 28-Oct-2008
> # Revision: none
> -# last modification: 12-Jan-2009
> +# last modification: 07-Jan-2011
> #
> -# Author: Maksim V. Struchalin, Yurii S. Aulchenko
> -# Company: ErasmusMC, Epidemiology & Biostatistics Department,
> The Netherlands.
> -# Email: m.struchalin at erasmusmc.nl,
> i.aoultchenko at erasmusmc.nl
> +# Author: Lennart C. Karssen,
> +# Maksim V. Struchalin,
> +# Yurii S. Aulchenko
> +# Company: Erasmus MC,
> +# Epidemiology & Biostatistics Department,
> +# The Netherlands.
> +# Email: l.karssen at erasmusmc.nl,
> +# m.struchalin at erasmusmc.nl,
> +# i.aoultchenko at erasmusmc.nl
> #
> -#=====================================================================================
> +#============================================================================
>
>
>
>
> -$version="1.1";
> -$release_data="11-Jan-2009";
> +$version="1.4";
> +$release_data="07-Jan-2011";
>
> $_2df_file_postfix = "_2df.out.txt";
> $_add_file_postfix = "_add.out.txt";
> @@ -35,11 +41,11 @@
> $separator_cfg = ",";
> $separator_filename = "_._chr_._";
>
> +$base_path = "./";
> +$config = $base_path . "probabel_config.cfg";
>
> -$config = "probabel_config.cfg";
> -
> @method = ("linear","logistic","coxph");
> - at anprog = ("./palinear","./palogist","./pacoxph");
> + at anprog = ($base_path . "palinear", $base_path . "palogist", $base_path .
> "pacoxph");
>
> %cohorts;
> @mlinfo;
> @@ -72,52 +78,50 @@
> close(CFG);
>
>
> -
> -
> -if(@ARGV<6 || $ARGV[0] == "--help")
> +if(@ARGV<6 || $ARGV[0] eq "--help")
> {
> print "\nUsage:
> probabel.pl chrom-start chrom-end method cohort <--allmodels OR
> --additive> trait <other available keys of ProbABEL functions>\n";
> print "\n * chrom-start - the first chromosome number, chrom-end - the
> last one";
> print "\n * method can be ";
> foreach $me(@method) {print "\"".$me."\", "};
> - print "\n * use --allmodels if you need dominant, recessive and
> heterozygous models
> + print "\n * use --allmodels if you need dominant, recessive and
> heterozygous models
> and --additive if additive only\n";
> print " * Available cohorts is ";
> - foreach $coh(keys %cohorts) {print "\"".$coh."\", "};
> + foreach $coh(keys %cohorts) {print "\"".$coh."\", "};
> print "\n * example:
> - probabel.pl 1 22 linear \"ERF\" --additive filename1 filename2
> + probabel.pl 1 22 linear \"ERF\" --additive filename1 filename2
> (filename has to be saved as filename.PHE)\n\n";
> -
> -
> +
> +
> print "\n Details:\n";
> - print " Script probabel.pl is used for analysis of imputed data.
> - Firstly you have to create file with phenotypes which you are going to
> use.
> - The first column is ids in special order, the second - trait which you
> are going analyze, rest - covariates.
> + print " The probabel.pl script is used for analysis of imputed data.
> + First you have to create file with the phenotypes that you are going to
> use.
> + The first column contains ids in special order, the second: the trait
> which you are going analyze, the others containd covariates.
> Like this =>
> -
> - id phen1 covariate1 covariate2
> +
> + id phen1 covariate1 covariate2
> 1_2094 0 334 0
> 1_5060 1 56 1
> 1_4077 1 346 6
> .
> - .
> .
> -
> - That means model:
> + .
> +
> + This implies the model:
> phen1 ~ covariate1 + covariate2 + SNP
> -
> -
> - Then save it to folder where you are doing analysis. Name of file must
> be name_of_file.PHE.
> - Where name_of_file is any name.
> -
> - Then perform in bash (Linux) comand line
> +
> +
> + Then save it to folder where you are doing the analysis. The name of the
> file must be name_of_file.PHE, where name_of_file is any name.
> +
> + Then run the following on the Linux command line:
> probabel.pl 1 22 \"method\" \"cohort\" --model name_of_file
> - Change \"method\" \"cohort\" --model on appropriate values\n";
> - print "\n Version: $version";
> - print "\n Release data: $release_data";
> - print "\n\n Autors: Maksim Struchalin - m.struchalin\@erasmusmc.nl,
> - Yurii Aulchenko - i.aoultchenko\@erasmusmc.nl.\n\n";
> + Change \"method\" \"cohort\" --model to appropriate values\n";
> + print "\n Version: $version";
> + print "\n Release data: $release_data";
> + print "\n\n Authors: Lennart Karssen - l.karssen\@erasmusmc.nl,
> + Maksim Struchalin - m.struchalin\@erasmusmc.nl,
> + Yurii Aulchenko - i.aoultchenko\@erasmusmc.nl.\n\n";
> exit;
> }
>
> @@ -130,22 +134,18 @@
>
>
>
> -die "error: chrom-start is > 22" if($startchr > 22);
> -die "error: chrom-end is > 22" if($endchr > 22);
> +die "error: chrom-start is > 22" if($startchr > 22 && $startchr != "X") ;
> +die "error: chrom-end is > 22" if($endchr > 22 && $endchr != "X");
> die "error: chrom-start > chrom-end" if($startchr > $endchr);
>
>
> -
> -
> -
> -
> $cohort_position = $cohorts{$chohort};
>
>
> if(!defined($cohort_position))
> {
> -print "\nerror: Wrong cohort name
> -Available cohorts is ";
> +print "\nerror: Wrong cohort name, \"$chohort\" is not an available cohort.
> +Available cohorts are ";
> foreach $coh(keys %cohorts) {print "\"".$coh."\", "};
> print "\n\n";
> exit;
> @@ -176,7 +176,7 @@
> $keys="";
>
>
> -for ($i=6;$i<@ARGV;$i++)
> +for ($i=6;$i<@ARGV;$i++)
> {
> $keys = $keys.$ARGV[$i]." ";
> }
> @@ -207,12 +207,20 @@
>
> print "Start...\n";
>
> - $chr = $startchr;
> - print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> $mlinfo_split[0]${chr}$mlinfo_split[1] -d
> $mldose_probe_split1${chr}$mldose_probe_split2 -m
> $legend_split[0]${chr}$legend_split[1] --chrom $chr -o $phename $keys`;
> +$chr = $startchr;
> +
> +# Separate command for the X chromosome.
> +if ($chr eq "X") {
> + print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> $mlinfo_split[0]$mlinfo_split[1] -d $mldose_probe_split1$mldose_probe_split2
> -m $legend_split[0]$legend_split[1] --chrom $chr -o $phename $keys`;
> + exit;
> +}
> +
> +# Commands for the autosomes
> +print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> $mlinfo_split[0]${chr}$mlinfo_split[1] -d
> $mldose_probe_split1${chr}$mldose_probe_split2 -m
> $legend_split[0]${chr}$legend_split[1] --chrom $chr -o $phename $keys`;
> for($chr=($startchr+1);$chr<=$endchr;$chr++)
> {
> print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> $mlinfo_split[0]${chr}$mlinfo_split[1] -d
> $mldose_probe_split1${chr}$mldose_probe_split2 -m
> $legend_split[0]${chr}$legend_split[1] --chrom $chr -o $phename.$chr
> --no-head $keys`;
> -
> +
> if($model_option_num==2)
> {
> `cat $phename.${chr}$_2df_file_postfix >>
> ${phename}${_2df_file_postfix}`;
> @@ -220,7 +228,7 @@
>
> `cat $phename.${chr}$_add_file_postfix >>
> ${phename}${_add_file_postfix}`;
> `rm $phename.${chr}$_add_file_postfix`;
> -
> +
> `cat $phename.${chr}$_domin_file_postfix >>
> ${phename}${_domin_file_postfix}`;
> `rm $phename.${chr}$_domin_file_postfix`;
>
>
> _______________________________________________
> Genabel-commits mailing list
> Genabel-commits at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits
>
--
Sent from my mobile device
More information about the genabel-devel
mailing list