[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