File: alloc_sec_structure.c

package info (click to toggle)
garlic 1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 4,516 kB
  • sloc: ansic: 52,465; makefile: 2,254
file content (83 lines) | stat: -rw-r--r-- 2,064 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/* Copyright (C) 2001 Damir Zucic */

/*=============================================================================

				alloc_sec_structure.c

Purpose:
	Allocate and initialize the storage for the secondary structure
	associated with a macromolecular complex.

Input:
	(1) Pointer to MolComplexS structure.

Output:
	(1) Storage  for the secondary structure information  allocated
	    and initialized, on success.
	(2) Return value.

Return value:
	(1) Positive on success.
	(2) Negative on failure.

Notes:
	(1) One letter codes are used for the secondary structure.

	(2) Default conformation is 'E' (extended).

========includes:============================================================*/

#include <stdio.h>

#include <stdlib.h>

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xos.h>
#include <X11/Xatom.h>

#include "defines.h"
#include "typedefs.h"

/*======function prototypes:=================================================*/

void		ErrorMessage_ (char *, char *, char *,
			       char *, char *, char *, char *);

/*======allocate storage for secondary structure:============================*/

int AllocSecondaryStructure_ (MolComplexS *mol_complexSP)
{
static size_t		char_size;
static size_t		elementsN;
static int		i;

/* Size of a single character: */
char_size = sizeof (char);

/* Allocate storage for the secondary structure */
/* associated with  the macromolecular complex: */
elementsN = MAXRESIDUES;
mol_complexSP->secondary_structureP = (char *) malloc (elementsN);
if (mol_complexSP->secondary_structureP == NULL)
        {
        ErrorMessage_ ("garlic", "AllocSecondaryStructure_", "",
			"Failed to allocate the secondary structure buffer!\n",
			"", "", "");
        return -1;
        }

/* Initialize the secondary structure buffer; */
/* use  the code for  extended  conformation: */
for (i = 0; i < MAXRESIDUES; i++)
	{
	*(mol_complexSP->secondary_structureP + i) = 'E';
	}

/* Return positive value on success: */
return 1;
}

/*===========================================================================*/